class documentation

class twisted.internet.task.CooperativeTask: (source)

View In Hierarchy

A CooperativeTask is a task object inside a Cooperator, which can be paused, resumed, and stopped. It can also have its completion (or termination) monitored.

See AlsoCooperator.cooperate
Method __init__ A private constructor: to create a new CooperativeTask, see Cooperator.cooperate.
Method whenDone Get a defer.Deferred notification of when this task is complete.
Method pause No summary
Method resume Resume processing of a paused CooperativeTask.
Method stop Stop further processing of this task.
Instance Variable _iterator the iterator to iterate when this CooperativeTask is asked to do work.
Instance Variable _cooperator the Cooperator that this CooperativeTask participates in, which is used to re-insert it upon resume.
Instance Variable _deferreds the list of defer.Deferreds to fire when this task completes, fails, or finishes.
Instance Variable _pauseCount the number of times that this CooperativeTask has been paused; if 0, it is running.
Instance Variable _completionState The completion-state of this CooperativeTask. None if the task is not yet completed, an instance of TaskStopped if stop was called to stop this task early, of TaskFailed if the application code in the iterator raised an exception which caused it to terminate, and of TaskDone if it terminated normally via raising StopIteration.
Instance Variable _completionResult Undocumented
Method _completeWith
Method _checkFinish If this task has been stopped, raise the appropriate subclass of TaskFinished.
Method _oneWorkUnit Perform one unit of work for this task, retrieving one item from its iterator, stopping if there are no further items in the iterator, and pausing if the result was a defer.Deferred.
_iterator = (source)
the iterator to iterate when this CooperativeTask is asked to do work.
_cooperator = (source)
the Cooperator that this CooperativeTask participates in, which is used to re-insert it upon resume.
(type: Cooperator)
_deferreds = (source)
the list of defer.Deferreds to fire when this task completes, fails, or finishes.
(type: list)
_pauseCount = (source)
the number of times that this CooperativeTask has been paused; if 0, it is running.
(type: int)
_completionState = (source)
The completion-state of this CooperativeTask. None if the task is not yet completed, an instance of TaskStopped if stop was called to stop this task early, of TaskFailed if the application code in the iterator raised an exception which caused it to terminate, and of TaskDone if it terminated normally via raising StopIteration.
(type: TaskFinished)
def __init__(self, iterator, cooperator): (source)

A private constructor: to create a new CooperativeTask, see Cooperator.cooperate.

_completionResult = (source)

Undocumented

def whenDone(self): (source)

Get a defer.Deferred notification of when this task is complete.

Returnsa defer.Deferred that fires with the iterator that this CooperativeTask was created with when the iterator has been exhausted (i.e. its next method has raised StopIteration), or fails with the exception raised by next if it raises some other exception. (type: defer.Deferred)
def pause(self): (source)

Pause this CooperativeTask. Stop doing work until CooperativeTask.resume is called. If pause is called more than once, resume must be called an equal number of times to resume this task.

RaisesTaskFinishedif this task has already finished or completed.
def resume(self): (source)

Resume processing of a paused CooperativeTask.

RaisesNotPausedif this CooperativeTask is not paused.
def _completeWith(self, completionState, deferredResult): (source)
ParameterscompletionStatea TaskFinished exception or a subclass thereof, indicating what exception should be raised when subsequent operations are performed.
deferredResultthe result to fire all the deferreds with.
def stop(self): (source)

Stop further processing of this task.

RaisesTaskFinishedif this CooperativeTask has previously completed, via stop, completion, or failure.
def _checkFinish(self): (source)

If this task has been stopped, raise the appropriate subclass of TaskFinished.

def _oneWorkUnit(self): (source)

Perform one unit of work for this task, retrieving one item from its iterator, stopping if there are no further items in the iterator, and pausing if the result was a defer.Deferred.

API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.