[Twisted-Python] Deterministic TimerService

Thomas Mangin thomas.mangin at exa-networks.co.uk
Thu Mar 4 11:51:30 EST 2004


> While working on an industrial data logger using Twisted, I found that
> application.internet.TimerService calls my own callLater callable function
> before reissuing the next callLater. Consequently, instead of a time period
> c, the callable function runs every c+x, where x is the duration of my own
> function, and thus appears to slip over time.

I never used this feature but, for what it is worth, I agree with what
you are saying .

However I recall a nasty side effect that this behaviour had. If your
callback are taking all the CPU and can not finish before the new
callback is scheduled, it will cause the box to hit more and more CPU
and memory until something bad happens.

I think that an adding an optional flag to not allow the new callback to
run if the previous one is not completed would be a good idea.

My $.02 as I do not have any code to contribute.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://twistedmatrix.com/pipermail/twisted-python/attachments/20040304/1772670b/attachment.pgp 

More information about the Twisted-Python mailing list