【问题标题】:Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch (Java Discord bot on Heroku)错误 R10(启动超时)-> Web 进程未能在启动后 90 秒内绑定到 $PORT(Heroku 上的 Java Discord 机器人)
【发布时间】: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 

【问题讨论】:

    标签: java spring-boot heroku discord bots


    【解决方案1】:

    Procfile 配置了一个 WebDyno,它将尝试绑定到 PORT,问题是 Discord 机器人不会尝试这样做,而是定义一个后台任务(工作者)

    worker: java -jar build/libs/*.jar 
    

    【讨论】:

      猜你喜欢
      • 2018-10-16
      • 1970-01-01
      • 2021-04-05
      • 2017-07-16
      • 2021-08-19
      • 2019-07-04
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      相关资源
      最近更新 更多