[Twisted-web] Having reactor run at the main thread make things harder for late adopters

Jean-Paul Calderone exarkun at divmod.com
Wed Nov 5 00:33:39 EST 2008


On Wed, 5 Nov 2008 15:11:08 +1100, Andrew Bennetts <andrew-twisted at puzzling.org> wrote:
>Tzury Bar Yochay wrote:
>> >
>> >> At this stage the main problem I see is having transport.write will
>> >> have data transmitted immediately when called from another thread.
>> >
>> > When calling into Twisted from non-Twisted threads, use reactor.callFromThread.
>> > See <http://twistedmatrix.com/projects/core/documentation/howto/threading.html>.
>>
>> I actually saw this reactor.callFromThread but weren't sure whether it
>> is a singelton i.e. I can use it in another module by simply importing
>> reactor and calling it and it will affect the same I called .run on in
>> another module. I checked it right now and it works.
>
>Yes, it is a singleton.  As
><http://twistedmatrix.com/projects/core/documentation/howto/reactor-basics.html>
>says:
>
>    You can get to the reactor object using the following code:
>
>        from twisted.internet import reactor
>
>The documentation could perhaps be clearer about this (that document implies,
>but doesn't directly state, that there's only one reactor instance).
>

Although I don't see how it matters if it's a singleton or not. :)  If it
weren't, you could just pass the reactor you were using to the thread that
needed to use it.

Jean-Paul



More information about the Twisted-web mailing list