gpt4 book ai didi

java - 在 Web 服务器 (Heroku) 上托管可运行的 jar 文件 (Discord bot)

转载 作者:行者123 更新时间:2023-11-30 07:19:57 25 4
gpt4 key购买 nike

我刚刚在可运行的 jar 中创建了一个简单的 Discord 机器人。 (作为免责声明,当谈到网络时,我是一个菜鸟。)我一直在寻找一种在线自由运行它的方法,并且我阅读了所有这些 VPS 网站的信息,但没有一个提供无限制的免费计划。所以我偶然发现了一个名为 Heroku 的网站,它允许我在这个月的大部分时间里运行它。我已经基本上弄清楚了所有问题,但有一个错误我无法修复:

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch

我的 Discord 机器人无法连接到 Heroku 的服务器,我认为这就是问题所在,但我不知道如何修复它。有人遇到过类似的问题吗?我是否会以正确的方式托管我的机器人?谢谢。

编辑:这是完整的日志:

2016-06-11T17:00:56.792783+00:00 app[web.1]: 17:00:56.792 [main] DEBUG d.btobastian.javacord.ImplDiscordAPI - Requested gateway wss://gateway.discord.gg (token: **************************************************NdxxxW0oQ)
2016-06-11T17:00:56.765456+00:00 app[web.1]: 17:00:56.765 [main] DEBUG d.btobastian.javacord.ImplDiscordAPI - Requesting gateway (token: **************************************************NdxxxW0oQ)
2016-06-11T17:00:57.199263+00:00 app[web.1]: 17:00:57.199 [ReadingThread] DEBUG d.b.j.utils.DiscordWebsocketAdapter - Sending connect packet
2016-06-11T17:00:57.267527+00:00 app[web.1]: 17:00:57.267 [ReadingThread] DEBUG d.b.j.utils.DiscordWebsocketAdapter - Received READY-packet!
2016-06-11T17:00:57.270636+00:00 app[web.1]: 17:00:57.270 [ReadingThread] DEBUG d.b.j.utils.DiscordWebsocketAdapter - Updating status (game: none, idle: false)
2016-06-11T17:01:38.508359+00:00 app[web.1]: 17:01:38.507 [pool-2-thread-1] DEBUG d.b.j.utils.DiscordWebsocketAdapter - Sending heartbeat (interval: 41250)
2016-06-11T17:02:19.751552+00:00 app[web.1]: 17:02:19.751 [pool-2-thread-1] DEBUG d.b.j.utils.DiscordWebsocketAdapter - Sending heartbeat (interval: 41250)
2016-06-11T17:02:22.866430+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2016-06-11T17:02:23.649874+00:00 heroku[web.1]: Process exited with status 137

所以我的应用程序实际上并没有与 Heroku 服务器交互,它显然“超时”了。当我在本地运行它时,一切都很好,但是当我将它上传到 Heroku 应用程序时,它“超时”。我一直在寻找绑定(bind) $PORT 的方法,但到目前为止还没有成功。我已将其包含在我的 Procfile 中,但没有结果:

web: java $JAVA_OPTS -Dserver.port=$PORT -jar ideaprojects.jar --host=0.0.0.0 --port=$PORT

我以前从未与端口交互过,有人可以帮助我吗?再次感谢。

Edit2:我什至尝试通过将我的 Java 代码添加到他们的末尾来通过他们的“java-getting-started”来运行我的机器人。 Heroku 没有崩溃,但我的机器人似乎也没有运行。

最佳答案

您收到此错误是因为您的 Procfile 配置为 web。您需要将 Procfile 配置为 worker 进程。

您可以尝试这个Procfile配置:worker: java -jar target/*.jar

您也可以查看此页面:https://devcenter.heroku.com/articles/run-non-web-java-processes-on-heroku

关于java - 在 Web 服务器 (Heroku) 上托管可运行的 jar 文件 (Discord bot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com