delayed_job - 只停止一个进程

时间:2012-09-06 13:10:45

标签: ruby-on-rails ruby delayed-job

使用delayed_job gem,如何在不停止所有工作人员的情况下只停止一个进程?

例如:

rake jobs:work启动工作人员

process1 = SomeClass.enqueue在代码中启动进程1

process2 = SomeClass.enqueue在代码中启动进程2

process1.stop将仅停止进程1并使进程2继续运行。

我想类似的问题将是"我怎样才能获得延迟工作流程的PID?"因为那时我可以使用PID来终止进程。

1 个答案:

答案 0 :(得分:0)

整体延迟工作是一个过程。要知道pid,请检查延迟作业启动时在临时文件夹中创建的.pid文件。 为了从代码中停止一个特定进程使用Delayed :: Job.all,或找到你的作业并使用destroy方法关闭它。