[Twisted-Python] blocking code alongside with Twisted

Hi all, My server mainly consists of two modules: -- http api handling (using twisted) -- backend blocking tasks The backend tasks have to block, because I have to call some third-party API, which is always blocking. What's more, since the third-party api call is blocking, I plan to use a thread pool to implement a connection pool. My question is: Is it ok to use twisted in this manner? i.e. I just run `reactor.run()' in the main thread (to handle the http api request), and the rest of the program is blocking -- and intrinsically not related to twisted. Any suggestion is appreciated. Thanks! Lin

On Aug 31, 2012, at 10:30 PM, Shuai Lin <linshuai2012@gmail.com> wrote:
Sure, this is fine. This is why the reactor has callInThread() after all :). It may also make sense to use something like Ampoule <https://launchpad.net/ampoule> if the backend tasks are CPU intensive as well, and you want multi-core parallelism. -glyph

On Aug 31, 2012, at 10:30 PM, Shuai Lin <linshuai2012@gmail.com> wrote:
Sure, this is fine. This is why the reactor has callInThread() after all :). It may also make sense to use something like Ampoule <https://launchpad.net/ampoule> if the backend tasks are CPU intensive as well, and you want multi-core parallelism. -glyph
participants (2)
-
Glyph
-
Shuai Lin