from twisted.internet import reactor, defer def bar(a): ouch() def foo(d): d.callback(None) d = defer.Deferred() d.addCallback(foo) reactor.callLater(0, foo, d) reactor.run()