Heroku 进程应该始终保持运行,但是当它被 ping 时,它会崩溃并显示 H20 错误



所以我有一个在Heroku中运行的Java应用程序,它总是在监听一些东西。它不应该被ping,但如果它被ping,它会返回一个H20错误,因为该过程永远不会结束。我该如何防止这种情况?

我试过听一个get电话:

get("", new Route() {
@Override
public Object handle(Request request, Response response) throws Exception {
return "Hello";
}
});

但后来意识到它将结束整个过程,这意味着在我完成heroku restart之前它不会再运行,因为该过程在我发布后立即开始。

我该怎么做才能使服务器忽略 ping,而不结束进程本身?

为了清楚起见,这应该是一个文本机器人在某个聊天中侦听命令。

H20 是应用程序启动超时。
对于web进程类型,Heroku 要求您绑定在 $PORT 指定的端口。如果在 75 秒后,您的进程未绑定到该端口,则认为它太长而无法启动,因此被终止。

如果机器人不打算侦听 HTTP 请求,则可以解决此问题,将进程类型名称从 web 更改为 Procfile 中的其他任何内容。

最新更新