【问题标题】:Heroku java app won't stay online for more than 90 secondsHeroku java 应用程序不会在线超过 90 秒
【发布时间】:2021-12-08 13:38:54
【问题描述】:

我一直在尝试让我的 discord bot (jda/gradle) 在 heroku 上上线一段时间,唯一对我有用的是使用 .jar 文件让我的 bot 上线,但不幸的是它成功了90 秒后离线,heroku 日志给出:

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

这是我的 build.gradle

    plugins {
    id 'java'
    id 'application'
    id 'com.github.johnrengelman.shadow' version '7.0.0'
}

mainClassName = 'com.xlol.testbot.TestBot'

group 'com.xlol'
version '1.0'

sourceCompatibility = 16

repositories {
    mavenCentral()
    jcenter()
    maven {
        name 'm2-dv8tion'
        url 'https://m2.dv8tion.net/releases'
    }
}

task stage(dependsOn: ['build', 'clean'])
build.mustRunAfter clean

dependencies {
    implementation group: 'me.duncte123', name: 'botCommons', version: '1.0.45'

    implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
    implementation 'net.dv8tion:JDA:4.3.0_324'
    implementation 'io.github.cdimascio:java-dotenv:5.1.1'
    implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
}

compileJava.options.encoding = 'UTF-8'

我的Procfile

web: java $JAVA_OPTS -jar build/libs/HerokuTestBot-1.0-all.jar -Dserver.port=$PORT $JAR_OPTS

我的system.properties

java.runtime.version=16
server.port=${PORT:8080}

如果您需要其他任何东西,请提出要求,我已经尝试解决此问题大约 3 天了,任何帮助将不胜感激,在此先感谢!

【问题讨论】:

  • 我在这里看不到任何关于您的实际代码的信息。你的机器人会监听 HTTP 请求吗?
  • @Chris 我不知道如何检查,这可能意味着它没有,你能告诉我如何让它监听 HTTP 请求吗?
  • 应该是吗?我不知道它应该做什么。如果它需要响应 HTTP 请求,它必须在 Heroku 分配的端口上监听它们并作为web 进程运行。如果它响应 HTTP 请求,它应该是一个非web 进程,例如可能是worker
  • @Chris 我已经修复了它,这实际上是解决方案,我想运行一个我需要使用web.jar 文件,但它与worker 一起工作得很好,谢谢

标签: java gradle heroku jar discord-jda


【解决方案1】:

对于想要答案的人(致 @Chris),这是因为 Heroku 无法在端口“$PORT”(Heroku 的变量)上找到 Web 应用程序。此托管需要 Web 端口或应用程序才能通过网站链接访问它。

但是,在所有情况下。人们会推荐您使用 VPS 或支持 Java 托管的主机。 (例如:托管我的世界服务器的主机,因为 Minecraft 在 Java 上运行。|| 支持多种语言的 Discord Bot 托管的主机,从 NodeJS 到 Java)

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2021-11-28
    • 2018-10-29
    • 1970-01-01
    • 2018-07-14
    • 2021-03-03
    相关资源
    最近更新 更多