让我的JAVA(jar)程序在Heroku上运行

让我的JAVA(jar)程序在Heroku上运行,java,heroku,dyno,Java,Heroku,Dyno,我用Java制作了一个机器人,当我运行命令时,它工作得非常好: heroku run nohup java -jar bot.jar 然而,24小时后,Heroku因为他们的Dyno政策而关闭了它。因此,我想制作一个Procfile,以便它在每次再次激活时都能执行命令 我已尝试在Procfile中放置以下命令: 我甚至制作了一个run.sh文件,其中包含: #!/bin/bash nohup java -jar bot.jar 要生成具有以下内容的Procfile: worker: sh r

我用Java制作了一个机器人,当我运行命令时,它工作得非常好:

heroku run nohup java -jar bot.jar
然而,24小时后,Heroku因为他们的Dyno政策而关闭了它。因此,我想制作一个Procfile,以便它在每次再次激活时都能执行命令

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

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

#!/bin/bash
nohup java -jar bot.jar
要生成具有以下内容的Procfile:

worker: sh run.sh
不幸的是,所有这些都不起作用,因为每次Dyno执行Procfile(就在我通过git推送新版本之后),bot永远都不会激活。日志显示:

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运行。 你能帮我吗

谢谢。

试试跑步:

$ heroku ps:scale worker=1
这将确保始终运行一个辅助进程

$ heroku ps:scale worker=1