【问题标题】:delayed_job - Stop only one processdelay_job - 只停止一个进程
【发布时间】:2012-09-06 13:10:44
【问题描述】:

使用delayed_job gem,我怎样才能只停止一个进程而不停止所有工作人员?

例如:

rake jobs:work启动工人

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

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

process1.stop 将只停止进程 1 并保持进程 2 运行。

我想类似的问题是“如何获得延迟作业进程的 PID?”因为这样我就可以使用 PID 杀死进程。

【问题讨论】:

  • 我也有同样的问题。你解决了吗?
  • @utiq 是的,我刚刚使用了使用 cron 作业的 whenever gem。但我对这个问题的正确答案持开放态度。
  • 有人有解决方案吗?

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


【解决方案1】:

Delayed Job 整体上是一个过程。要了解 pid,请检查延迟作业开始时在 temp 文件夹中创建的 .pid 文件。 要从代码中停止某个特定进程,请使用 Delayed::Job.all,或者找到您的工作并使用 destroy 方法将其关闭。

【讨论】:

    猜你喜欢
    • 2020-12-16
    • 2012-10-23
    • 2012-11-08
    • 2017-01-20
    • 1970-01-01
    • 2012-11-09
    • 2011-05-18
    • 2013-04-03
    • 1970-01-01
    相关资源
    最近更新 更多