如何杀死reski中的背景工作,如gem sidekiq

时间:2014-09-01 05:30:30

标签: ruby-on-rails resque sidekiq

我使用rescue gem来管理我的后台工作,

我想在创建新的后台作业后获取句柄ID

然后我可以随时使用句柄ID终止后台作业。

但我无法通过resque获得它,似乎无法删除任何排队的作业或正在运行的作业,

我知道sidekiq有办法删除排队的作业

how to delete a job in sidekiq

1 个答案:

答案 0 :(得分:0)

如果需要,您可以使用ResqueStatus gem来跟踪作业并使用ID将其删除。

以下是gem Docs中给出的示例:

您的职位:

class SleepJob
  include Resque::Plugins::Status

  def perform
    # your code
    ...
    ...
  end
end

排队工作并获得工作ID:

job_id = SleepJob.create(args)

使用职位ID杀死职位:

Resque::Plugins::Status::Hash.kill(job_id)

阅读Github

的更多内容