我正在尝试并行做两件事:
- 拦截 HTTPS POST 请求并让 Twisted 无限期保持连接打开(返回
NOT_DONE_YET
) - 收听 ZeroMQ 队列(并因 ZeroMQ 消息而关闭其中一个挂起的连接)
我知道如何分别做这两件事,但我怎样才能并行做呢?具体来说,当我已经在监听 TCP 套接字时,如何在 Twisted 框架内接收来自 ZeroMQ 的消息?
您可以在 txZMQ中获得对 ZMQ 的支持。
听起来您已经知道如何处理 HTTP 请求了。
要并行执行这些操作,只需创建 yourZmqSubConnection
和 your twisted.web.server.Site
,并根据应用程序的需要相互引用。无需特殊设置。
只要确保你只创建和运行一个反应器。其他有类似问题的人有时不理解这reactor.run()
意味着“为整个过程运行事件循环”,而不是“运行我设置的这件事”。