如何修复 Twisted python 与另一端的连接以非干净方式丢失?

How to fix Twisted python Connection to the other side was lost in a non-clean fashion?

我正在使用 buildbot 作为我的 CI。它是使用扭曲 python.

构建的

我的构建工人大约在 10 分钟后迷路了。

我的网络很好,但想知道我的工人为什么会迷路。

我想知道在什么情况下我们会在twisted中看到这种错误python。

错误:

remoteFailed: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion.

如果您看到断开连接,并且在 master 和 worker twisted.log 中都没有任何线索,那么您的问题就是网络问题。

您可能有一些防火墙,在防火墙之间关闭长 运行ning tcp 连接或其他东西。

我建议在双方运行 tcpdump,看看谁在发送 RST 数据包

正如@tardyp 所注意到的,这可能是您的网络配置,它会在没有流量的情况下重置长 TCP 连接。

尝试按照所述here:

为主从通信设置较小的 keepalive 值
c['workers'] = [
    worker.Worker('bot-linux', 'linuxpasswd',
                  keepalive_interval=60)
]

发送保活数据包的默认间隔是一小时。