有没有办法停止在工作节点上运行的长时间运行的任务?

时间:2019-09-12 18:38:28

标签: node.js cluster-computing

我希望中止运行在nodeJS集群工作节点上的长时间运行的任务,我正在使用的方法是获取工作节点的pid并使用SIGKILL杀死它。它杀死了nodeJS worker,但任务开始在另一个群集节点上运行。

如果我使用Bull作为任务队列,是否有个很好的方法可以停止在工作节点上正在运行的任务。

1 个答案:

答案 0 :(得分:0)

这只是一个主意,但是您可以通过侦听SIGKILL事件的回调来扩展该工作节点。此回调应在进程自行关闭之前将正在运行的任务从队列中删除,因此该任务不会返回到队列。

使用更好的体系结构会有更好的解决方案,但这可能是对您已经在工作的项目的简单扩展。