0

Carin Meier のHow I Start投稿の指示に従っていますが、Web コンポーネントを持たない clojure アプリの実行に問題があります。

私のProfileには提案があります:

worker: lein trampoline run

しかし、展開すると、次のように表示されます。

remote: ------> プロセス タイプの検出

リモート: Profile は型を宣言します -> ワーカー

remote: Clojure (Leiningen 2) のデフォルトの型 -> web

最後の行がどこから来ているのかわかりません。私のアプリは Web にまったく接続しないため、強制終了されます。

エラー R10 (ブート タイムアウト) -> Web プロセスは、起動から 60 秒以内に $PORT にバインドできませんでした

SIGKILL によるプロセスの停止

明確でない場合、私は Heroku の初心者です...何が欠けているのでしょうか? Default types for Clojure (Leiningen 2) -> web設定と期待を取り除くにはどうすればよいbind to $PORTですか?

4

1 に答える 1

3

Heroku Clojure ビルドパックは、Web アプリケーションをデプロイしていることを前提としており、自動的に「Web」プロセス タイプを作成しようとします。これは悪い仮定であり、修正します (私はClojure ビルドパックのメンテナーです)。

表示されているエラーにもかかわらず、「ワーカー」プロセスは問題ないはずです。このエラーは、持っていない「web」プロセスが実行されていないことを意味します。

次のように、同期的な 1 回限りのプロセスでワーカーを実行できます。

$ heroku run worker

または、次のようにバックグラウンドで (切り離して) 実行することもできます。

$ heroku run:detached worker 

または、永続的に実行したい場合は、次を実行できます。

$ heroku ps:scale worker=1

とにかく、次のようにログを表示してチェックインできます。

$ heroku logs --tail

それが役立つことを願っています。

于 2015-06-08T20:28:17.423 に答える