Я хочу создать повторяющиеся события, используя жемчужину Ice Cube в Rails - мой вопрос в том, как правильно или правильно использовать эти повторяющиеся правила для запуска реальных событий?
Примером этого может служить повторяющийся счет-фактура.
Скажем, что у меня есть повторяемость Ice Cube, установленная один раз в неделю, и я сохранил ее в повторяющейся строке счета, используя to_yaml. Теперь у меня есть строка в базе данных с сериализованным правилом повторения. Единственный способ, который я могу себе представить, - это запустить каждую строку в базе данных, устранить сохраненные правила повторения и проверить, нужно ли ей запускать сегодня с помощью sched.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?