4

Ruby (Rails ではない) アプリを Herokuにデプロイしようとしています。私のprocfileは次のようにレイアウトされています:

console: bundle exec ruby main.rb

しかし、私のアプリは実際には起動しません。システムのログはすべて静かで、エラー出力に似たものは何もありません。

ローカル システムで procfile に示されているようにコマンドを実行すると、プログラムが起動し、正確に実行されます。

さらに興味深いことに、 を実行するheroku consoleと、コンソール自体でアプリがすぐに起動します。procfile との相互作用のように見えますか? Heroku のコンソールに接続せずにアプリを自動的に起動し、stdout を取得するにはどうすればよいですか?

4

1 に答える 1

5

consoleエントリを実行する場合は、スケーリングする必要があります

$ heroku ps:scale console=1

とは言うものの、Herokuはconsole「アプリケーションで特定のインタラクティブな管理機能を実行するために使用するもの」を意味するために使用されます。そのためheroku consoleconsoleProcfileエントリ実行し、双方向パイプを提供します。あなたは別の意味を持っているようです-「特定のバックグラウンドタスクを実行するために私が常に実行する必要があるもの」。(webHerokuにとっても特別な意味があります。ルーティングメッシュはHTTPリクエストをwebプロセスに送信します。)したがって、これも名前を変更するので、console「コンソール」を意味します。

mainと同等のを選択することもできますmain.rbが、代わりに、このコンポーネントが実際に何をするかを考え、代わりにProcfileエントリとmain.rb説明ラベルの両方を与えることをお勧めします。

于 2012-11-19T14:38:37.950 に答える