在Heroku中运行第二个非Web Java应用程序进程

时间:2017-08-30 13:05:13

标签: java heroku heroku-cli

我想知道是否可以在Web java应用程序中运行Heroku中的非Web Java应用程序?基本上我想执行一个命令来运行非Web应用程序jar:

在Heroku中调用类似的东西进行一次关闭过程:

Process proc = Runtime.getRuntime().exec("java -jar A.jar");

1 个答案:

答案 0 :(得分:0)

您可能不想从现有Java进程执行新进程。相反,您应该在应用的Procfile中创建一个新的流程类型,如下所示:

web: java -jar webapp-runner.jar yourapp.war
worker: java -jar A.jar

然后,您可以从CLI heroku run worker运行辅助进程,也可以对Heroku API进行HTTP调用。

我假设您使用的是heroku war:deploy,这意味着您目前可能没有Procfile。您可能需要切换为heroku jar:deployinclude webapp-runner in your app manually