java - Heroku 在 90 秒工作 Java 电报机器人后崩溃
问题描述
我使用这个 api 编写了 java Telegram bot - https://github.com/rubenlagus/TelegramBots。我在我的电脑上测试它,它工作得很好。所以我决定在 Heroku 上测试它,然而,在 90 秒后它崩溃了(前 90 秒运行良好)。Heroku 日志:
2018-07-09T08:01:45.000000+00:00 app[api]: Build succeeded
2018-07-09T08:01:46.940201+00:00 heroku[web.1]: Starting process with command `java -Dserver.port=18914 -jar target/AllaBot-1.0.0.jar`
2018-07-09T08:01:49.163121+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2018-07-09T08:01:49.166682+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -Dfile.encoding=UTF-8
2018-07-09T08:03:17.028453+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2018-07-09T08:03:17.028604+00:00 heroku[web.1]: Stopping process with SIGKILL
2018-07-09T08:03:17.121323+00:00 heroku[web.1]: Process exited with status 137
2018-07-09T08:03:17.140915+00:00 heroku[web.1]: State changed from starting to crashed
我的档案:
web: java -Dserver.port=$PORT -jar target/AllaBot-1.0.0.jar
据我了解,我需要更改项目中的端口,不是吗?我尝试使用互联网上的一些技巧,但它们对我不起作用。
解决方案
谢尔盖尼克的回答在浪费大量时间尝试修复此 R10 错误后帮助了我很多。我可以附加该 Procfile 应该放在根目录中,并且看起来像这样:
web: java $JAVA_OPTS -Dserver.port=$PORT -jar target/<custom-bot>.jar
推荐阅读
- python - 全面地写下这句话
- function - 在尝试对神经网络进行预测时,在分配之前引用了局部变量“img”,子程序/函数存在问题
- ios - 如何在 JTAppleCalendar 中快速显示当前周
- linux - 用于发送电子邮件的 Linux Cron 作业命令
- match - 匹配最后一个单词
- php - PHP,错误:无法准备 SQL 语句
- flutter - 无法使用 just_audio 在 Flutter Android 中播放声音
- java - Android Java 随机数学除法一直显示“除以零”
- statistics - 如何确定 Gumbel 分布的均值和 Cov?
- delphi - OleVariant 和 SafeSysFreeString