AutobahnPython + Twisted 'Publish' 在脚本完成后泛滥消息

AutobahnPython + Twisted 'Publish' floods messages after script is finished

我有一个 Python 脚本,它有时 运行 是一个持续约 5-60 秒的过程。在此期间,对 session.publish() 的十次调用将被忽略,直到脚本完成。 一旦脚本完成,所有十条消息都会被大量发布。

我已经通过在调试模式下打开 Crossbar.io 路由器证实了这一点,它会在时间结束后显示与发布的消息相对应的日志(而不是预期的 运行 期间)。

有问题的脚本又长又复杂,包括 Crossbar/Twisted/AutobahnPython 的前端和后端组合。我觉得如果我试图浓缩并包含在这里,我可能会误报问题。

没有立即发布的原因是什么?

到目前为止有几次不成功的尝试:

谢谢!

What reasons are there for publish to not happen instantaneously?

反应堆必须有机会 运行 才能 I/O 发生。示例代码不允许反应堆 运行 因为它在用户代码中的 while 循环中执行了很长时间。