[Twisted-Python] reactor.callLater always requires args object?
Sergio Trejo
serj_trejo at hotmail.com
Wed Jul 21 12:01:38 MDT 2004
I'm trying to be a good soldier by heeding the warning issued by the Twisted
gods warning strongly *not* to use defer.Deferred's setTimeout() and instead
using reactor.callLater
I've looked at the API for twisted.internet.defer.Deferred.callback and
twisted.internet.default.SelectReactor.callLater (which refers one to see
twisted.internet.interfaces.IReactorTime.callLater which I have also read).
I don't understand why at least one args object must always be supplied to
reactor.callLater, as in:
reactor.callLater(3, d.callback, "an unused arg")
even though the callback function:
d.addCallback(checkForSanity)
receives no args:
def checkForSanity():
print "this is a sanity test"
In order to get the reactor.callLater to perform the callback, I had to pass
in at least one arg:
def checkForSanity(ignoreMe):
print "this is a sanity test"
d = defer.Deferred()
d.addCallback(checkForSanity)
reactor.callLater(3, d.callback, "ignore me")
There's sure to be a good reason why, perhaps something utterly obvious to
most but as a newbie I'm still trying to grok as much as possible where
needed. Thanks for any clarification.
Serg
_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE*
http://join.msn.com/?page=features/virus
More information about the Twisted-Python
mailing list