HerokuのRailsアプリでは、将来の5つの特定の時間(それぞれ約1日間隔)で、2番目までの単純なコードブロックを実行したいと考えています。
バックグラウンドプロセスなしでこれを行う良い方法はありますか?
遅延ジョブは月額30ドル程度のワーカーインスタンスが必要になるため、使用したくありません。不要のようです。
遅延ジョブ/Herokuワーカーなしでこれを行うための良い方法はありますか?
解決済み
回答ありがとうございます-これを達成するための確実な方法はないようです。遅れた仕事で行く。
HerokuのRailsアプリでは、将来の5つの特定の時間(それぞれ約1日間隔)で、2番目までの単純なコードブロックを実行したいと考えています。
バックグラウンドプロセスなしでこれを行う良い方法はありますか?
遅延ジョブは月額30ドル程度のワーカーインスタンスが必要になるため、使用したくありません。不要のようです。
遅延ジョブ/Herokuワーカーなしでこれを行うための良い方法はありますか?
回答ありがとうございます-これを達成するための確実な方法はないようです。遅れた仕事で行く。
古い質問ですが...
多分それはあなたの問題を解決することができます: Sucker Punch .
Heroku では追加の dyno は必要ありません。また、5 ブロック間の時間を指定することも可能です。
代わりに rake タスクと heroku スケジューラを使用してください
https://devcenter.heroku.com/articles/scheduler
スケジューラ アドオンは、その月の dyno 時間にカウントされる 1 回限りのプロセスを実行します。
Heroku スケジューラで Rake タスクを使用して、インテリジェントなロジックを少し追加できます。sleep until job_is_available if job_is_available_in_less_than_twelve_minutes?
次に、コードを実行する時間と、rake タスクがジョブが利用可能かどうかを確認するのにかかる数秒に対して料金を支払います。Heroku は秒単位で比例配分するため、1 ~ 3 ドル程度です。
スケジューラでそれを行うことができます。タスクが実行されているときに日/時間などを確認するだけでよいため、時間単位のジョブをスケジュールし (それがうまくいく場合)、現在の日/時間を確認してこれは、ジョブを実行してから、チェック内で実行したいものです。理想的ではありませんが、うまくいきます。