Rails - 后台作业(倒计时)

Rails - Background job (countdown)

我为 ruby 的剩余时间进行了倒计时。但是不知道如何在后台 运行 它,因为当我 运行 它在控制器或助手中它在加载视图之前开始,所以倒计时必须完成然后加载视图.

所以我需要运行它在后台以低优先级运行,因为我需要在数据库中保存更新的时间。(功能正常工作)

我找到了这个 gem RESQUE,这对它有好处,还是手动操作更好?

我是 ruby 的新手,所以非常感谢您的建议。

这是我的工作

@commits.each do |t|
  timer_date = t.updated_at + 6000
    while Time.now < timer_date
      timeo = Time.at(timer_date.to_i - Time.now.to_i)
      t.remain = timeo
      t.save
      sleep 1
    end
end

您可以使用 sidekiq gem https://github.com/mperham/sidekiq 进行后台处理。