【问题标题】:Keeping my JAVA (jar) program running on Heroku让我的 JAVA (jar) 程序在 Heroku 上运行
【发布时间】:2017-11-08 22:13:04
【问题描述】:

我用 Java 制作了一个机器人,运行命令时效果很好:

heroku run nohup java -jar bot.jar

但是,由于他们的 Dyno 政策,Heroku 在 24 小时后将其关闭。所以,我想制作一个 Procfile 以便它每次重新激活时执行上面的命令。

我尝试在 Procfile 中放置以下命令:

worker: java -jar bot.jar
worker: nohup java -jar bot.jar

我什至制作了一个 run.sh 文件,其中包含:

#!/bin/bash
nohup java -jar bot.jar

为了制作一个 Procfile,它具有:

worker: sh run.sh

遗憾的是,这些都不起作用,因为每次 Dyno 执行 Procfile (就在我通过 git 推送它的新版本之后),机器人永远不会活跃起来。日志显示:

2017-06-07T13:17:33.651806+00:00 app[api]: Starting process with command `sh run.sh` by XXXX

2017-06-07T13:17:37.958327+00:00 heroku[run.2087]: State changed from starting to up

2017-06-07T13:17:37.948696+00:00 heroku[run.2087]: Awaiting client

2017-06-07T13:17:38.283581+00:00 heroku[run.2087]: Starting process with command `sh run.sh`

2017-06-07T13:17:52.807189+00:00 heroku[run.2087]: Client connection closed. Sending SIGHUP to all processes

2017-06-07T13:17:53.343009+00:00 heroku[run.2087]: Process exited with status 129

2017-06-07T13:17:53.359331+00:00 heroku[run.2087]: State changed from up to complete

2017-06-07T13:24:32.000000+00:00 app[api]: Build started by user XXXX

2017-06-07T13:24:43.090567+00:00 app[api]: Deploy YYYY by user XXXX

2017-06-07T13:24:43.090567+00:00 app[api]: Release v17 created by user XXXX

2017-06-07T13:24:32.000000+00:00 app[api]: Build succeeded

我不知道该怎么做才能让我的机器人从 Procfile 运行。 你能帮帮我吗?

谢谢。

【问题讨论】:

    标签: java heroku dyno


    【解决方案1】:

    尝试运行:

    $ heroku ps:scale worker=1
    

    这将确保一个工作进程始终在运行。

    【讨论】:

      猜你喜欢
      • 2013-08-27
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-08
      • 2018-10-04
      相关资源
      最近更新 更多