多进程Manager出现EOFError

6 投票
1 回答
5806 浏览
提问于 2025-04-18 05:28

我有很多客户端通过0MQ连接到一个服务器。我有一个管理队列,用来让一组工作进程与每个客户端机器上的主进程进行沟通。

在其中一台客户端机器上,有250个工作进程,我几乎立刻就看到很多EOFError错误。这些错误发生在执行put()操作的时候。

我本以为大量的通信可能会让一切变慢,但我觉得在内部多进程逻辑中不应该出现EOFError错误。我没有使用gevent或者其他可能会影响标准套接字功能的东西。

有没有人能想出是什么原因导致向管理队列发送数据时会出现EOFError错误呢?

1 个回答

7

对我来说,错误的原因其实是我的接收程序出现了问题,抛出了一个异常并结束了运行。因此,发送程序收到了一个EOFError,这意味着进程之间的通信通道已经关闭了。

撰写回答