错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT(Heroku 上的 Java Discord 机器人)
Posted
技术标签:
【中文标题】错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT(Heroku 上的 Java Discord 机器人)【英文标题】:Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch (Java Discord bot on Heroku) 【发布时间】:2021-04-23 19:38:44 【问题描述】:我正在使用 gradle 和 spring boot 在 Java 中制作一个不和谐的机器人。当我在 IntelliJ IDEA 中启动应用程序时,它运行良好。它也适用于引发错误之前的前 90 秒。我添加了一个 Procfile,但它并没有解决问题。我看不出问题出在哪里。
代码
import discord4j.core.DiscordClient;
import discord4j.core.DiscordClientBuilder;
import discord4j.core.GatewayDiscordClient;
import discord4j.core.event.domain.message.MessageCreateEvent;
import discord4j.core.object.entity.Member;
import discord4j.core.object.entity.Message;
import discord4j.core.object.entity.User;
import discord4j.core.object.entity.channel.MessageChannel;
import reactor.core.publisher.Mono;
import java.util.Optional;
public class Main
public static void main(final String[] args)
final GatewayDiscordClient client = DiscordClientBuilder.create("Token").build().login().block();
//"Token" is replaced by actual bot token in live code
client.on(MessageCreateEvent.class).subscribe(event ->
final Message message = event.getMessage();
if(message.getContent().contains("UwU")
|| message.getContent().contains("uwu")
|| message.getContent().contains("OwO")
|| message.getContent().contains("owo")
|| message.getContent().contains("UWU")
|| message.getContent().contains("uWu")
|| message.getContent().contains("uWU")
|| message.getContent().contains("uwU")
|| message.getContent().contains("UWU")
|| message.getContent().contains("UWu")
|| message.getContent().contains("oWo")
|| message.getContent().contains("Owo")
|| message.getContent().contains("owO")
|| message.getContent().contains("OWo")
|| message.getContent().contains("oWO")
|| message.getContent().contains("0W0")
|| message.getContent().contains("Onii-chan")
|| message.getContent().contains("onii-chan")
|| message.getContent().contains("Daijobu")
|| message.getContent().contains("daijobu")
|| message.getContent().contains("Nani")
|| message.getContent().contains("nani")
|| message.getContent().contains("Yare Yare")
|| message.getContent().contains("yare yare")
|| message.getContent().contains("tsundere")
|| message.getContent().contains("Tsundere")
|| message.getContent().contains("baka")
|| message.getContent().contains("Baka")
|| message.getContent().contains("Senpai")
|| message.getContent().contains("senpai")
|| message.getContent().contains("Yandere")
|| message.getContent().contains("yandere")
|| message.getContent().contains("Loli")
|| message.getContent().contains("loli")
|| message.getContent().contains("OWO"))
message.delete().block();
final MessageChannel channel = message.getChannel().block();
channel.createMessage("NO WEEBS ALLOWED!").block();
);
client.onDisconnect().block();
错误
2021-01-19T13:28:53.204752+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2021-01-19T13:28:53.219563+00:00 heroku[web.1]: Stopping process with SIGKILL
2021-01-19T13:28:53.274160+00:00 heroku[web.1]: Process exited with status 137
2021-01-19T13:28:53.314684+00:00 heroku[web.1]: State changed from starting to crashed
过程文件
web: java $JAVA_OPTS -Dserver.port=$PORT -jar build/libs/*.jar
【问题讨论】:
【参考方案1】:Procfile 配置了一个 WebDyno,它将尝试绑定到 PORT
,问题是 Discord 机器人不会尝试这样做,而是定义一个后台任务(工作者)
worker: java -jar build/libs/*.jar
【讨论】:
以上是关于错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT(Heroku 上的 Java Discord 机器人)的主要内容,如果未能解决你的问题,请参考以下文章
错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT - HEROKU ERROR
Java Maven 项目 - 错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT
Heroku discord bot 托管错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT
Heroku Node.js 错误 R10(启动超时)-> Web 进程在启动后 60 秒内无法绑定到 $PORT
错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT(Heroku 上的 Java Discord 机器人)