我在heroku上有一个现有的webapp,需要将消息发送到队列。我希望工作人员选择消息并处理它们。在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认为这是一个游戏1.2.4项目,然后就崩溃了。当我尝试指定播放2.0 buildpack时,它说“没有检测到Cedar支持的应用程序”。显然,heroku不喜欢我的目录结构。
我希望我的播放应用和我的maven工作者共享相同的git存储库,如果可能的话,成为heroku的同一部署的一部分。有没有一个共同的模式来解决这个问题?
答案 0 :(得分:1)
你不能在Heroku的单个应用程序中混合多个构建包。相反,你可以把它作为一个Play 2应用程序。这是一个有助于您入门的示例项目:
https://github.com/jamesward/play2-scheduled-job-demo