Я хочу создавать повторяющиеся события с помощью гема Ice Cube в Rails - мой вопрос в том, как мне затем правильно или, скорее, эффективно использовать эти повторяющиеся правила для запуска реальных событий?
Пример. из этого будет повторяющийся счет.
Скажем, у меня есть набор повторений Ice Cube один раз в неделю, и я сохранил его в строке повторяющегося счета с помощью to_yaml. Теперь у меня есть строка в базе данных с сериализованным правилом повторения. Единственный способ, который я могу себе представить, это использовать каждую строку в базе данных, десериализуя сохраненные правила повторения и проверяя, нужно ли его запускать сегодня с помощью schedule.occurs_on? (Date.new) - затем это будет помещено в cronjob, который выполняется ежедневно:
items = RecurringItem.find(:all)
items.each do |item|
schedule = Schedule.from_yaml(item.schedule_yaml)
if schedule.occurs_on?(Date.new)
#if today is a recurrence, do stuff!
end
end
Это кажется мне ужасно неэффективным, но я могу делать это совершенно неправильно. Нет лучшего способа использовать Ice Cube?