2013-04-21 19 views
30

Procfileで 'worker'情報を与える必要がありますか?もしそうなら、それは実際に何か - これに関して良い記事を見つけることができませんでした。私は皆さんにアイデアがあると願っています。私は既にweb:node server/server.jsの詳細をProcfileに追加しています。どんな助けもありがとう!Procfileとは何ですか? WebとWorker

答えて

41

Procfileは、コマンドがHerokuのプラットフォーム上でアプリケーションのdynosによって運営されているものを宣言するためのメカニズムです。

Process Types and the Procfileこれは良い紹介ですが、基本的には、Procfileを使用してさまざまなアプリケーションを実行する方法をHerokuに伝えます。各行のコロンの左側の部分はプロセスの種類です。右側の部分は、そのプロセスを開始するためのコマンドです。

で開始されたプロセスにヘロクがルーティングするため、webは特別ですが、プロセスの種類は任意です。バックグラウンドワーカーなどの他のプロセスには何も名前を付けることができ、Herokuのツールベルトを使用してそのプロセスの名前を参照してプロセスを開始または停止することができます。

controlling process with the heroku ps commandでバックグラウンドで他のプロセスを実行しない限り、つまり、簡略にはworkerは必要ありません。

+5

http://blog.daviddollar.org/2011/05/06/introducing-foreman.htmlこれもまた、主題の素敵な紹介です。 – Kashyap

+2

@Kashyapよろしくお願いします。 Heroku ToolbeltがForemanをローカルにインストールするので、同じProcfileを使用して独自のアプリケーションを開発することができます。 –

+0

実際、私は1つのエラーが発生しており、ここに投稿しました。これを調べることができれば素晴らしいでしょう。私はこれを解決するために私の頭を傷つけたが、失敗した。 http://stackoverflow.com/questions/16129625/getting-error-while-running-command-heroku-psscale-worker-1-error –

5

何らかのバックグラウンドジョブシステムを使用する予定の場合(つまり、後で実行するために長時間実行するタスクをキューに入れるなど)、「Procfile」には「ワーカー」エントリしか必要ありません。 Herokuのは、ここではより多くの情報を持っています

https://devcenter.heroku.com/articles/procfile

+2

また、「ワーカー」という名前は任意です。あなたは自分のprocfileであなたが望むものに名前をつけることができます。 "ワーカー"、 "emailer"、 "sidekiq"、 "ladygaga_twitter_feed_watcher"これにより、各タイプを独立して管理することができます($ heroku ps:scale emailer = 2)。実際、procfileに複数の "worker"タイプがある場合は、最後にリストされたものだけが使用されます。 – Patrick

+0

@パトリック。私はHerokuがworkerにいくつかのデフォルトを設定していると信じています(Railsアプリケーションの場合、rake jobs:work'を実行するかもしれませんが)。 –

関連する問題