0

Rufus Schedulerを使用するHerokuでrails アプリを実行しています。

私のアプリは複数使用しており、スケジューラは1 つだけではなくdynoそれぞれで実行されているため、スケジュールされたイベントが複数回 (それぞれ 1 回) 発生します。dynodyno

どうすればこれを回避できますか?

4

1 に答える 1

2

ProcfileRufus スケジューラ プロセスを実行する新しいプロセス タイプを に追加する必要があります。

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 スケジューラ プロセスになります。

于 2014-01-29T15:19:59.810 に答える