Part of twisted.internet.defer View Source View In Hierarchy
If you are looking into this as a means of limiting parallelism, you
might find twisted.internet.task.Cooperator
more useful.
Instance Variable | tokens | At most this many users may acquire this semaphore at once. (type: int ) |
Instance Variable | limit | The difference between tokens and the number of users which
have currently acquired this semaphore. (type: int ) |
Method | __init__ | Undocumented |
Method | acquire | Attempt to acquire the token. |
Method | release | Release the token. |
Method | _cancelAcquire | Remove a deferred d from our waiting list, as the deferred has been canceled. |
Inherited from _ConcurrencyPrimitive:
Method | run | Acquire, run, release. |
Method | _releaseAndReturn | Undocumented |
tokens
and the number of users which
have currently acquired this semaphore. (type: int
)
Note: We do not need to wrap this in a try/except to catch d not being in self.waiting because this canceller will not be called if d has fired. release() pops a deferred out of self.waiting and calls it, so the canceller will no longer be called.
Parameters | d | The deferred that has been canceled. |