Part of twisted.internet.task View Source View In Hierarchy
Method | __init__ | Create a scheduler-like object to which iterators may be added. |
Method | coiterate | Add an iterator to the list of iterators this Cooperator is
currently running. |
Method | cooperate | Start running the given iterator as a long-running cooperative task, by calling next() on it as a periodic timed event. |
Method | start | Begin scheduling steps. |
Method | stop | Stop scheduling steps. Errback the completion Deferreds of all iterators which have been added and forget about them. |
Method | _addTask | Add a CooperativeTask
object to this Cooperator . |
Method | _removeTask | Remove a CooperativeTask
from this Cooperator . |
Method | _tasksWhileNotStopped | Yield all CooperativeTask
objects in a loop as long as this Cooperator 's
termination condition has not been met. |
Method | _tick | Run one scheduler tick. |
Method | _reschedule | Undocumented |
Parameters | terminationPredicateFactory | A no-argument callable which will be invoked at the beginning of each step and should return a no-argument callable which will return True when the step should be terminated. The default factory is time-based and allows iterators to run for 1/100th of a second at a time. |
scheduler | A one-argument callable which takes a no-argument callable and should invoke it at some future point. This will be used to schedule each step of this Cooperator. | |
started | A boolean which indicates whether iterators should be stepped as soon as
they are added, or if they will be queued up until Cooperator.start
is called. |
Cooperator
is
currently running.Parameters | doneDeferred | If specified, this will be the Deferred used as the completion deferred. It is suggested that you use the default, which creates a new Deferred for you. |
Returns | a Deferred that will fire when the iterator finishes. |
Parameters | iterator | the iterator to invoke. |
Returns | a CooperativeTask
object representing this task. |
CooperativeTask
objects in a loop as long as this Cooperator
's
termination condition has not been met.