9
9
"strings"
10
10
"sync"
11
11
"sync/atomic"
12
- "testing"
13
12
"time"
14
13
15
14
"github.com/dustin/go-humanize"
@@ -138,17 +137,11 @@ func (e *Executor) Run() {
138
137
}()
139
138
}
140
139
141
- func (e * Executor ) hasAvailableProvisioners (ctx context.Context , tx database.Store , ws database.Workspace , templateVersionJob database.ProvisionerJob ) (bool , error ) {
140
+ func (e * Executor ) hasAvailableProvisioners (ctx context.Context , tx database.Store , t time. Time , ws database.Workspace , templateVersionJob database.ProvisionerJob ) (bool , error ) {
142
141
if e .SkipProvisionerCheck {
143
142
return true , nil
144
143
}
145
144
146
- // Use a shorter stale interval for tests
147
- staleInterval := provisionerdserver .StaleInterval
148
- if testing .Testing () {
149
- staleInterval = TestingStaleInterval
150
- }
151
-
152
145
// Get eligible provisioner daemons for this workspace's template
153
146
provisionerDaemons , err := tx .GetProvisionerDaemonsByOrganization (ctx , database.GetProvisionerDaemonsByOrganizationParams {
154
147
OrganizationID : ws .OrganizationID ,
@@ -159,11 +152,10 @@ func (e *Executor) hasAvailableProvisioners(ctx context.Context, tx database.Sto
159
152
}
160
153
161
154
// Check if any provisioners are active (not stale)
162
- now := dbtime .Now ()
163
155
for _ , pd := range provisionerDaemons {
164
156
if pd .LastSeenAt .Valid {
165
- age := now .Sub (pd .LastSeenAt .Time )
166
- if age <= staleInterval {
157
+ age := t .Sub (pd .LastSeenAt .Time )
158
+ if age <= provisionerdserver . StaleInterval {
167
159
return true , nil
168
160
}
169
161
}
@@ -327,7 +319,7 @@ func (e *Executor) runOnce(t time.Time) Stats {
327
319
}
328
320
329
321
// Before creating the workspace build, check for available provisioners
330
- hasProvisioners , err := e .hasAvailableProvisioners (e .ctx , tx , ws , templateVersionJob )
322
+ hasProvisioners , err := e .hasAvailableProvisioners (e .ctx , tx , t , ws , templateVersionJob )
331
323
if err != nil {
332
324
return xerrors .Errorf ("check provisioner availability: %w" , err )
333
325
}
0 commit comments