0

キューにメッセージを送信する必要があるherokuに既存のWebアプリがあります。ワーカーにメッセージを受け取って処理してもらいたい。https://devcenter.heroku.com/articles/run-non-web-java-processes-on-herokuで例を読んだ後、Procfileで別の再生プロセスを実行するのは無駄だと思ったので、次のプロジェクト構造を作成しました代わりに、ワーカーにmavenを使用するには:

[git root]
   +--[play 2.0 app]
   |  + (project files)
   |  +-Procfile (web)  
   |
   +--[maven based worker]
      + (project files)
      +-Procfile (worker)

これをすべてherokuにプッシュしようとすると、惨めに失敗します。Herokuは、これはPlay 1.2.4プロジェクトであると考えており、その後崩壊します。Play 2.0ビルドパックを指定しようとすると、「Cedarでサポートされているアプリが検出されませんでした」と表示されます。したがって、明らかにherokuは私のディレクトリ構造が好きではありません。

PlayアプリとMavenワーカーが同じgitリポジトリを共有し、可能であれば、herokuへの同じデプロイメントの一部になりたいです。この問題を解決するための一般的なパターンはありますか?

4

1 に答える 1

1

Herokuの1つのアプリに複数のビルドパックを混在させることはできません。代わりに、これをすべてPlay2アプリとして実行できます。これがあなたが始めるのを助けるプロジェクトの例です:
https ://github.com/jamesward/play2-scheduled-job-demo

于 2012-10-10T13:42:56.433 に答える