Rufus Schedulerを使用するHerokuでrails アプリを実行しています。
私のアプリは複数使用しており、スケジューラは1 つだけではなくdyno
それぞれで実行されているため、スケジュールされたイベントが複数回 (それぞれ 1 回) 発生します。dyno
dyno
どうすればこれを回避できますか?
Rufus Schedulerを使用するHerokuでrails アプリを実行しています。
私のアプリは複数使用しており、スケジューラは1 つだけではなくdyno
それぞれで実行されているため、スケジュールされたイベントが複数回 (それぞれ 1 回) 発生します。dyno
dyno
どうすればこれを回避できますか?
Procfile
Rufus スケジューラ プロセスを実行する新しいプロセス タイプを に追加する必要があります。
web: unicorn -c app/config/unicorn.rb ... # Your existing web dyno process
scheduler: rake rufus:scheduler # Add rake task for rufus scheduler process
heroku ps:scale
その後、 1 つのスケジューラ dyno と N 個の Web dyno を設定するために使用できます。
編集
現在、rufus スケジューラを含む Rails アプリケーションがあります。そのアプリケーションを Heroku にデプロイすると、Rails アプリケーション コードと必要なライブラリが各 dyno に (1 つ以上のビルドパックを介して) インストールされます。dyno は、アプリケーション内でプロセスを実行する仮想マシンです。
デフォルトでは、Rails Web アプリケーション サーバーを実行する dyno があります。2 番目のタイプの dyno を追加すると、コードベースとライブラリは同じになりますが、別のプロセスが実行されます。この場合、その 2 番目のプロセスが Rufus スケジューラ プロセスになります。