モデルのスケジュールされた更新を1時間ごとに実行しようとしていますが、それが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
どうすればこれを解決できますか?また、これはこれらの更新を実行するための良い方法ですか?以前は、各メソッド内のオブジェクトを取得しましたが、更新の1つに時間がかかりすぎると、誤って次の更新のために余分なオブジェクトを取得し始める可能性があります。