我正在尝试每小时为模型运行一次计划更新,但前提是它是 24 小时前的最后一次更新。如果我只有@rentals = Rental.all
.where(..) 我会得到一个wrong number of arguments (2 for 1)
:
def delayed_stat_updates
@rentals = Rental.where("updated_at < ?", 24.hours.ago)
StatsController.delay(queue: 'stats').stat_updates(@rentals)
StatsController.delay(queue: 'stats').index_check(@rentals)
StatsController.delay(queue: 'stats').update_stats_error_attribute(@rentals)
StatsController.delay(queue: 'stats').error_notification_email
end
我该如何解决这个问题?另外,这是运行这些更新的好方法吗?以前我在每个方法中都抓取了对象,但是如果其中一个更新花费的时间太长,它可能会意外地开始抓取额外的对象以进行下一次更新。