我继承的维护的一些科学的计算使用平行蟒蛇在一个集群。与并行的蟒蛇,工作提交一ppserver,其中(在这种情况下)的谈判已经运行的ppserver进程的其他计算机、派任务出来ppworkers进程。

我想使用的标准库记录模块中登录的错误和调试信息的功能,得到提交给ppserver.由于这些ppworkers运行为单独的进程(在单独的计算机)我不知道该如何恰当地结构的记录。我必须登录到一个单独的文件对每个进程?也许有一个登录处理程序,会让这一切更好吗?

此外,我要报告在什么程上什么计算机打击了一个错误,但是代码我写在记录中可能不知道这些事情;也许应该发生在ppserver水平?

(版本的问题交叉上发布的并行Python论坛上,我会后答案在这里,如果我得到的东西有关于这一从未使用户)

有帮助吗?

解决方案

一种方法解决你的问题是要做到如下:

  1. 在每个工作人员的过程中,使用 logging.handlers.SocketHandler 发送的事件从工作人员到专门的记录的过程。
  2. 创建一个专用记录仪进程的侦听记录事件上插座,基于工作的例子中给出的文件在 https://docs.python.org/3/howto/logging-cookbook.html#sending-and-receiving-logging-events-across-a-network
  3. 利润;-)

如果你抓到的例外情况,在你的工作人员的功能并记录它们,然后你应该可以获得的能见度错误所有的工人在一个地方。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top