我继承了在群集上使用Parallel Python维护一些科学计算。使用Parallel Python,作业将被提交给ppserver,在这种情况下,它会与其他计算机上已经运行的ppserver进程进行通信,将任务发送给ppworkers进程。
我想使用标准库日志记录模块来记录提交给ppserver的函数中的错误和调试信息。由于这些ppworkers作为单独的进程运行(在不同的计算机上),我不确定如何正确构建日志记录。我必须为每个进程登录一个单独的文件吗?也许有一个日志处理程序可以让它变得更好?
另外,我想要报告什么计算机遇到错误的过程,但我正在编写登录的代码可能不知道这些事情;也许这应该发生在ppserver级别?
(并行Python论坛上交叉发布的问题的版本,如果我从非SO用户那里得到关于此的内容,我会在这里发布答案)
答案 0 :(得分:6)
解决问题的一种方法是执行以下操作:
logging.handlers.SocketHandler
将工作人员的事件发送到专用记录器进程。如果您在工作人员职能中捕获异常并记录它们,那么您应该能够在一个地方看到所有工作人员的错误。
答案 1 :(得分:2)