heroku 连接超时(连接超时)
Posted
技术标签:
【中文标题】heroku 连接超时(连接超时)【英文标题】:heroku Connection timed out (Connection timed out) 【发布时间】:2022-01-21 00:44:08 【问题描述】:大家好,如果我正在做的事情正确与否,我想要一个人直到我
我正在尝试做的是在heroku中部署spring boot并从python(flask)框架中获取日期,我在我的设备中本地运行它,在我的设备中本地一切正常但是当尝试在heroku中运行spring boot我收到这个错误
at=error code=H12 desc="Request timeout" method=GET path="/hi" host=java-be.herokuapp.com request_id=454eaa9f-b9e3-4c03-9e7d-4bf5b6c450a9 fwd="5.45.134.17" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=http
这个错误显示在heroku日志中:
org.springframework.web.client.ResourceAccessException:
I/O error on GET request for "http://192.168.43.142:5000/":
Connection timed out (Connection timed out); nested exception
is java.net.ConnectException:
Connection timed out (Connection timed out)
我的春季启动代码:
@GetMapping("/")
String home() throws URISyntaxException
try
RestTemplate restTemplate = new RestTemplate();
String url = "http://192.168.43.142:5000/"; // flask local host url
String helloWorld= restTemplate.getForObject(url, String.class);
SimpleClientHttpRequestFactory rf =(SimpleClientHttpRequestFactory) restTemplate.getRequestFactory();
rf.setReadTimeout(1000);
rf.setConnectTimeout(1000);
return helloWorld;
catch (Exception e)
e.printStackTrace();
return "";
这是我的烧瓶代码:
from flask import Flask
from waitress import serve
app = Flask(__name__)
@app.route('/', methods=['GET'])
def home():
return "hello world"
if __name__ == '__main__':
try:
from waitress import serve
serve(app, host="0.0.0.0", port="5000")
except:
print("unexpected error")
此外,当我在本地运行 heroku 服务器时,它也可以正常工作。
【问题讨论】:
首先检查spring boot app在打开app url时是否显示白页错误 pankaj 它告诉我检查我的日志,当我这样做时,我会收到上述错误,因为你在问题中播种 这意味着您的 Spring Boot 应用程序未正确部署,请检查 heroku java 版本和您的系统 java 版本。默认情况下,heroku 使用 java 1.8,您可以更改 spring java 版本 1.8 并再次部署并检查 其实我用的是java1.8 pankaj 这是您的 IP 地址吗?您是否将其公开为可从外部访问? 【参考方案1】:您是否已经将 gunicorn 包配置为部署在 heroku 上?
pip3 install flask gunicorn
并创建 Procfile 文件并添加:
web: gunicorn wsgi:app
点击如何部署的链接:https://dev.to/techparida/how-to-deploy-a-flask-app-on-heroku-heb
【讨论】:
想你 Lucas,但我仍然没有在 heroku 中部署烧瓶,我在本地运行它,我在 heroku 中运行它的 spring boot。 你能传递你的本地 git 存储库,以便我可以进行自己的测试吗? github.com/sabbagh99/springBoot-flask 这是包含烧瓶和弹簧启动代码的仓库以上是关于heroku 连接超时(连接超时)的主要内容,如果未能解决你的问题,请参考以下文章
ActionCable 超时 - Heroku 上的“空闲连接”
基于heroku socket.io服务器的heroku空闲连接超时
在 Heroku 上的 NodeJS 中,MongoDB 与 MongoLab 的连接超时
Heroku上的Node.js Web Socket H15空闲连接超时