使用delayed_job
gem,如何在不停止所有工作人员的情况下只停止一个进程?
例如:
rake jobs:work
启动工作人员
process1 = SomeClass.enqueue
在代码中启动进程1
process2 = SomeClass.enqueue
在代码中启动进程2
process1.stop
将仅停止进程1并使进程2继续运行。
我想类似的问题将是"我怎样才能获得延迟工作流程的PID?"因为那时我可以使用PID来终止进程。
答案 0 :(得分:0)
整体延迟工作是一个过程。要知道pid,请检查延迟作业启动时在临时文件夹中创建的.pid文件。 为了从代码中停止一个特定进程使用Delayed :: Job.all,或找到你的作业并使用destroy方法关闭它。