保存新行将启动2个异步作业。我试图调试其中一个后台作业,因为它们运行一些共享的模型代码。问题是,如果我添加日志记录来调试任何共享代码,突然它就会纠结,看起来像:
15:36:42 worker.1 | Running SQL "select count() .." (job #1)
15:36:42 worker.1 | Running SQL "select * .." (job #2)
15:36:42 worker.1 | Got to part 2 of the code (job #1)
15:36:42 worker.1 | Got to part 3 of the code (job #1)
15:36:42 worker.1 | Got to part 2 of the code (job #2)
15:36:42 worker.1 | Got to part 3 of the code (job #2)
15:36:42 worker.1 | Got to part 4 of the code (job #1)
15:36:42 worker.1 | Job failed (job #2)
15:36:42 worker.1 | Job complete (job #1)
除了工作#2"标签在现实中是不可能的。我刚刚添加了这些来说明这种混乱。
我想过滤掉因job #2
这两个职位共享process.pid
- "应该"它们是独立的过程吗?
答案 0 :(得分:1)
是否可以隔离作业2并独立于job1运行它(或者可能只是提供系统创建作业所需的任何输入,以产生您想要调试的结果。)
如果没有,你可以给你标记async jobs
。如果您可以为每个作业分配一个唯一的ID,该ID在链的早期初始化并传递到整个链中,那么您可以根据该ID grep您的日志。
在实际中标记代码肯定是可能的,它可能需要重构或重构代码。
另一个选择是将工作池卸载到工作池,这会将每个作业与工作者隔离,但可能没有必要,这肯定会增加程序的复杂性。