[Twisted-Python] patch for background processing (delay 0)
Bill la Forge
laforge49 at yahoo.co.in
Wed May 19 01:44:06 EDT 2004
Well, we're in the process of doing your third item, at least--making it two-phase.
Bill
Bob Ippolito <bob at redivi.com> wrote:
In my heapq implementation of a similar timer mechanism (outside of
Twisted), I did three things that twisted doesn't:
- cancelling a timer doesn't try and remove it from the heapq, instead
it just marks the timer as dead.
- the time when it's supposed to fire is passed to the fire method so
that the timer can determine whether it's supposed to actually fire or
not (in the case of a time change it is actually added to the queue a
second time without being removed so that I don't have to disrupt the
heapq).
- it's two phase.. I have a list of newly added timers, and a heapq of
waiting-to-fire timers. At the end of the iteration I shove the list
into the heapq and clear the list. This prevents infinite callLater(0,
...) situations.
-bob
Yahoo! India Matrimony: Find your partner online.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20040519/f9032141/attachment.htm
More information about the Twisted-Python
mailing list