Commit a4e01888 authored by Giampaolo Rodola's avatar Giampaolo Rodola

(sched) when run() is invoked with blocking=False return the deadline of the...

(sched) when run() is invoked with blocking=False return the deadline of the next scheduled call in the scheduler; this use case was suggested in http://bugs.python.org/issue1641#msg149453
parent 17160fd6
......@@ -109,7 +109,8 @@ Scheduler Objects
on until there are no more scheduled events.
If *blocking* is False executes the scheduled events due to expire soonest
(if any) and then return.
(if any) and then return the deadline of the next scheduled call in the
scheduler (if any).
Either *action* or *delayfunc* can raise an exception. In either case, the
scheduler will maintain a consistent state and propagate the exception. If an
......
......@@ -97,7 +97,8 @@ class scheduler:
def run(self, blocking=True):
"""Execute events until the queue is empty.
If blocking is False executes the scheduled events due to
expire soonest (if any) and then return.
expire soonest (if any) and then return the deadline of the
next scheduled call in the scheduler.
When there is a positive delay until the first event, the
delay function is called and the event is left in the queue;
......@@ -129,7 +130,7 @@ class scheduler:
now = timefunc()
if now < time:
if not blocking:
return
return time - now
delayfunc(time - now)
else:
event = pop(q)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment