我如何在Sidekiq杀死工作需要很长时间才能完成

ten*_*omp 5 jobs ruby-on-rails job-scheduling sidekiq

我有工作需要2个多小时才能完成.我想花点时间限制它需要多长时间.我该怎么办?

inf*_*sed 7

Timeout::timeout如果您不希望在超时后重试作业,请使用逻辑包装并禁用重试.

class RunsTooLongWorker
  include Sidekiq::Worker

  sidekiq_options :retry => false

  def perform(*args)
    Timeout::timeout(2.hours) do
      # do possibly long running task
    end
  end
end
Run Code Online (Sandbox Code Playgroud)


Mik*_*ham 0

如果时间过长,请使用 Ruby 的超时库引发错误。