From: Ben Darnell Date: Sun, 27 Sep 2015 22:09:16 +0000 (-0400) Subject: Document interactions with TornadoReactor and multi-process. X-Git-Tag: v4.3.0b1~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ebfc397546365123210b10ef86035236dcb5bd8;p=thirdparty%2Ftornado.git Document interactions with TornadoReactor and multi-process. See #1501. --- diff --git a/tornado/platform/twisted.py b/tornado/platform/twisted.py index 827e3bd2c..d3a4e75d1 100644 --- a/tornado/platform/twisted.py +++ b/tornado/platform/twisted.py @@ -339,8 +339,17 @@ class _TestReactor(TornadoReactor): def install(io_loop=None): """Install this package as the default Twisted reactor. + ``install()`` must be called very early in the startup process, + before most other twisted-related imports. Conversely, because it + initializes the `.IOLoop`, it cannot be called before + `.fork_processes` or multi-process `~.TCPServer.start`. These + conflicting requirements make it difficult to use `.TornadoReactor` + in multi-process mode, and an external process manager such as + ``supervisord`` is recommended instead. + .. versionchanged:: 4.1 The ``io_loop`` argument is deprecated. + """ if not io_loop: io_loop = tornado.ioloop.IOLoop.current()