Rails - 后台工作(倒计时)

时间:2016-05-05 17:34:33

标签: ruby-on-rails ruby countdown

我做了红宝石剩余时间的倒计时。但是无法弄清楚如何在后台运行它,因为当我在控制器或帮助器中运行它时,它会在加载视图之前启动,因此必须完成倒计时才能加载视图。 / p>

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

我发现这个宝石 RESQUE ,它对它有好处或更好的方法是手工制作吗?

我对红宝石很新,所以我很感激任何建议。

这是我的工作

@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

1 个答案:

答案 0 :(得分:1)

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