3

heroku アプリのキュー "send_comments" には 12 個のアイテムが表示されますが、"0 of 0 Workers Working" と表示されます。ローカルホストでジョブを処理したい場合は、次の行を使用することを知っています。

QUEUE=send_comments rake resque:work

herokuでこれを行うにはどうすればよいですか?

ありがとうございました。

アップデート

このエラーが何を意味するのかわかりませんが、「foreman start」を実行すると表示されます

$ foreman start --trace
21:15:38 worker.1  | started with pid 803
21:15:44 worker.1  | rake aborted!
21:15:44 worker.1  | can't convert Float into String
21:15:44 worker.1  | 
21:15:44 worker.1  | Tasks: TOP => resque:work => resque:preload => resque:setup
21:15:44 worker.1  | (See full trace by running task with --trace)

これは何を意味し、これがワーカーが処理していない理由でしょうか?

これは私のプロファイルです:

worker: env RESQUE_TERM_TIMEOUT=1 TERM_CHILD=1 VVERBOSE=1 QUEUE=* bundle exec rake resque:work
4

1 に答える 1

1

Procfile は、特定の種類の dyno (この場合はワーカー) を起動したときに何をするかを Heroku に指示するものです。実際にワーカーを作成するには、次のように dyno を手動でスケールアップする必要があります。

$ heroku ps:scale worker=1

これにより、dyno がスピンアップし、Procfile afterworker:で指定したものが実行されます。これは、新しい dyno でこの rake タスクを実行する効果があります。これにより、ワーカーが 1 つ作成されます。必要な数だけ指定できます。このスケーリングは、アプリの停止/再起動にも依存しません。

于 2016-06-03T22:56:04.120 に答える