Herokuの上Resqueスケジューラは...リモートでいますか?
-
27-09-2019 - |
質問
私はHerokuの上で私のアプリで Resque-スケジューラを追加している。
だから... ...私は、スケジューラとして働くONEのみと個別の労働者を必要とし、 多くの仕事をしてます。
これは、私はそれをやった方法です。
私は "遠い" のメインののRedisのDBへの Resque のタスクを追加し、何もしませんが、24/7を実行し、1 resque-スケジューラの労働者を持っている明確なHerokuのアプリケーションをしましたアプリます。
この(:スケジューラまたは resque:作業のをresqueに作業のタスク私はそのマッピングの仕事を行います)
これはHerokuのプラットフォームの上でそれを行うための最善の方法です。または私はそれが完全に間違っているのでしょうか? ありがとう! 編集:
Herokuの上のスケジューリングのための最小限のアプリ:
http://github.com/clmntlxndr/heroku-schedulerする UPDATE:HerokuのとProcfilesに新しいCEDARスタックと、それは各ワーカーのための個別のタスクを開始することが可能です。web: bundle exec rails server -p $PORT
scheduler: bundle exec rake resque:scheduler
worker: bundle exec rake jobs:work
解決
私はあなたの質問が最初に読み違えると思います。私は、スケジューラは別のrakeタスクを必要とする部分を逃しています。
はい、私はHerokuの労働者のみrake jobs:work
を実行しますので、それを行うための唯一の方法は、二つの別々のHerokuのアプリを持っていると思うと、おそらくあなただけresqueすくい課題の一つに、これをマップすることができます。
あなたはこれを試みることができます
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => ["resque:work", "resque:scheduler"]
しかし、私はそのことについて誠実な疑問を持って、実際にHerokuのは、ワーカープロセスやものを監視する方法で適切に取り組んでいます。また、ダブルそこすくい構文をチェック。それだけでメモリからです。私はそれが複数の依存関係を指定することができます知っています。