具有持续时间的定期计划的 Gem



我正在努力构建资产跟踪器。在我的应用程序中,我有"资产",用户在周三上午 8 点到周五上午 8 点签出一段时间。现在我希望这也要重复出现。因此,应该使每周从 8 日星期三到 8 日星期五为未来 5 周的定期预订是可行的。稍后我将有疑问,我想检查预订是否与另一个此类定期预订或非定期预订发生冲突。

我发现ice_cube对于重复发生的事件来说非常棒,但没有持续时间的概念。处理持续时间最干净的方法是什么?当然,我说的不是最终的结束持续时间,而是重复的持续时间。

'ice_cube' 允许您在初始化方法中指定以秒为单位的 :d 参数,以使计划具有重复的持续时间。

我之前错过了。这应该可以解决问题。

您可以使用 cron 作业来处理周期性任务。查看 每当 宝石。也看看这个使用Whenever的Railscast。

从任何时候:

every 3.hours do
  runner "MyModel.some_process"
  rake "my:rake:task"
  command "/usr/bin/my_great_command"
end
every 1.day, :at => '4:30 am' do
  runner "MyModel.task_to_run_at_four_thirty_in_the_morning"
end
every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
  runner "SomeModel.ladeeda"
end

最新更新