193
return
194
}
196
>
q.activeWorkers--
197
>
if q.activeWorkers == 0 {
198
>
q.lastActive = s.timeSource.Now()
199
>
}
200
>
s.mu.Unlock()
201
>
return
202
}
204
>
var zero taskEntry[T]
205
>
q.tasks[0] = zero // clear reference for GC
206
>
q.tasks = q.tasks[1:]
207
>
s.mu.Unlock()
208
>
209
>
queueWaitTime := s.timeSource.Now().Sub(entry.submitTime)
210
>
metrics.ExecutionQueueSchedulerQueueWaitTime.With(s.metricsHandler).Record(queueWaitTime)
211
>
s.executeTask(entry.task, entry.submitTime)
212
}
213
}