206
}
207
209
>
r.Lock()
210
>
defer r.Unlock()
211
>
212
>
metrics.TaskReschedulerPendingTasks.With(r.metricsHandler).Record(int64(r.numExecutables))
213
>
now := r.timeSource.Now()
214
>
for _, pq := range r.pqMap {
215
>
for !pq.IsEmpty() {
216
>
rescheduled := pq.Peek()
217
>
218
>
if rescheduleTime := rescheduled.rescheduleTime; now.Before(rescheduleTime) {
219
r.timerGate.Update(rescheduleTime)
220
break
221
}
222
224
>
if executable.State() == ctasks.TaskStateCancelled {
225
pq.Remove()
226
r.numExecutables--