【发布时间】: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 地址吗?您是否将其公开为可从外部访问?
标签: python java spring-boot flask heroku