@@ -209,21 +209,27 @@ def apply_entry(self, entry, producer=None):
209
209
else :
210
210
debug ('%s sent. id->%s' , entry .task , result .id )
211
211
212
+ def adjust (self , n , drift = - 0.010 ):
213
+ if n and n > 0 :
214
+ return n + drift
215
+ return n
216
+
212
217
def is_due (self , entry ):
213
218
return entry .is_due ()
214
219
215
- def tick (self , drift = - 0.010 , event_t = event_t , min = min ,
220
+ def tick (self , event_t = event_t , min = min ,
216
221
heappop = heapq .heappop , heappush = heapq .heappush ,
217
222
heapify = heapq .heapify ):
218
223
"""Run a tick, that is one iteration of the scheduler.
219
224
220
225
Executes all due tasks.
221
226
222
227
"""
228
+ adjust = self .adjust
223
229
max_interval = self .max_interval
224
230
H = self ._heap
225
231
if H is None :
226
- H = self ._heap = [event_t (e .is_due ()[1 ] + drift or 0 , 5 , e )
232
+ H = self ._heap = [event_t (adjust ( e .is_due ()[1 ]) or 0 , 5 , e )
227
233
for e in values (self .schedule )]
228
234
heapify (H )
229
235
event = H [0 ]
@@ -239,8 +245,7 @@ def tick(self, drift=-0.010, event_t=event_t, min=min,
239
245
else :
240
246
heappush (H , verify )
241
247
return min (verify [0 ], max_interval )
242
- return min (next_time_to_run + drift if next_time_to_run
243
- else max_interval , max_interval )
248
+ return min (adjust (next_time_to_run ) or max_interval , max_interval )
244
249
245
250
def should_sync (self ):
246
251
return (
0 commit comments