mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
Fix #13449: add 'blocking' parameter to sched.scheduler.run() so that the scheduler can be used in non-blocking applications
This commit is contained in:
parent
73520d57eb
commit
556ba04a8d
5 changed files with 34 additions and 4 deletions
|
|
@ -102,12 +102,15 @@ Scheduler Objects
|
|||
Return true if the event queue is empty.
|
||||
|
||||
|
||||
.. method:: scheduler.run()
|
||||
.. method:: scheduler.run(blocking=True)
|
||||
|
||||
Run all scheduled events. This function will wait (using the :func:`delayfunc`
|
||||
Run all scheduled events. This method will wait (using the :func:`delayfunc`
|
||||
function passed to the constructor) for the next event, then execute it and so
|
||||
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.
|
||||
|
||||
Either *action* or *delayfunc* can raise an exception. In either case, the
|
||||
scheduler will maintain a consistent state and propagate the exception. If an
|
||||
exception is raised by *action*, the event will not be attempted in future calls
|
||||
|
|
@ -118,6 +121,9 @@ Scheduler Objects
|
|||
the calling code is responsible for canceling events which are no longer
|
||||
pertinent.
|
||||
|
||||
.. versionadded:: 3.3
|
||||
*blocking* parameter was added.
|
||||
|
||||
.. attribute:: scheduler.queue
|
||||
|
||||
Read-only attribute returning a list of upcoming events in the order they
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue