Gem для повторяющегося графика с продолжительностью
Я работаю над созданием Asset Tracker. В моем приложении у меня есть "Активы", которые пользователь проверяет в течение периода, скажем, с 8:00 до пятницы 8:00. Теперь я хочу, чтобы это также повторялось. Поэтому следует периодически повторять бронирование каждую неделю с 8 по пятницу 8 на ближайшие 5 недель. У меня будут запросы, на которых я хотел бы проверить, не возникло ли столкновение с другим таким повторяющимся бронированием или нет. повторяющееся бронирование.
Я обнаружил, что ice_cube отлично подходит для повторяющихся событий, но понятия продолжительности нет. Какой самый чистый способ справиться с продолжительностью? И, конечно же, я говорю не о конечной продолжительности, а о повторяющейся продолжительности.
2 ответа
'ice_cube' позволяет вам указать параметр:duration в секундах в методе инициализации, чтобы расписание имело повторяющуюся продолжительность.
Я пропустил это раньше. Это должно решить проблему.
Вы можете использовать задания cron для обработки повторяющихся задач. Проверьте драгоценный камень Everyever. Также взгляните на этот Railscast, который использует Whenever.
С тех пор, когда:
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