将多页破折号应用程序部署到heroku的R12 /超时错误

问题描述 投票:0回答:1

[试图学习Dash的绳索,并制作了这个玩具仪表板来显示热量方程的解。部署到heroku的单页版本工作正常,但是多页版本出现此超时错误(请参见下面的日志)。它在本地工作正常。

我进行了我认为是必要的更改,以使其能够正确部署,即将procfile从app:server更改为index:server,然后将app.server导入索引。

我尝试在索引中分配服务器,而不是从应用程序导入,并尝试添加此行(server.secret_key = os.environ.get('secret_key','secret')),该行在我发现的类似的问题。

我还添加了一些打印语句以建立索引,而且服务器似乎从未将其放入其中。

github链接:https://github.com/mackwn/dashdiffeq

以下是我收到“构建成功”消息后立即从Heroku记录的日志:

2020-05-22T12:49:23.000000+00:00 app[api]: Build succeeded
2020-05-22T12:49:31.741895+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2020-05-22T12:49:39.870656+00:00 app[web.1]: [2020-05-22 12:49:39 +0000] [4] [INFO] Shutting down: Master
2020-05-22T12:49:39.924058+00:00 heroku[web.1]: Error R12 (Exit timeout) -> At least one process failed to exit within 30 seconds of SIGTERM
2020-05-22T12:49:39.927273+00:00 heroku[web.1]: Stopping remaining processes with SIGKILL
2020-05-22T12:49:40.109385+00:00 heroku[web.1]: Process exited with status 137
2020-05-22T12:50:48.940059+00:00 app[web.1]: [2020-05-22 12:50:48 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:10)
2020-05-22T12:50:48.940250+00:00 app[web.1]: [2020-05-22 12:50:48 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:11)
2020-05-22T12:50:48.981714+00:00 app[web.1]: [2020-05-22 12:50:48 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-05-22T12:50:49.199462+00:00 app[web.1]: [2020-05-22 12:50:49 +0000] [11] [INFO] Worker exiting (pid: 11)
.....(this kind of keeps going on until I try to load a page)
2020-05-22T12:55:22.232394+00:00 app[web.1]: [2020-05-22 12:55:22 +0000] [4] [DEBUG] 2 workers
2020-05-22T12:56:22.333270+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/" host=dashdiffeq410.herokuapp.com request_id=22145128-27cc-4397-a615-9916c6cfc286 fwd="71.142.111.162" dyno=web.1 connect=1ms service=30001ms status=503 bytes=0 protocol=https
2020-05-22T12:56:52.575355+00:00 app[web.1]: [2020-05-22 12:56:52 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:100)
2020-05-22T12:56:52.575554+00:00 app[web.1]: [2020-05-22 12:56:52 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:101)
2020-05-22T12:56:52.673002+00:00 app[web.1]: [2020-05-22 12:56:52 +0000] [100] [INFO] Worker exiting (pid: 100)
2020-05-22T12:56:52.784718+00:00 app[web.1]: [2020-05-22 12:56:52 +0000] [101] [INFO] Worker exiting (pid: 101)
2020-05-22T12:56:53.206573+00:00 app[web.1]: [2020-05-22 12:56:53 +0000] [118] [INFO] Booting worker with pid: 118
2020-05-22T12:56:53.279766+00:00 app[web.1]: [2020-05-22 12:56:53 +0000] [4] [DEBUG] 1 workers
2020-05-22T12:56:53.284164+00:00 app[web.1]: [2020-05-22 12:56:53 +0000] [119] [INFO] Booting worker with pid: 119
2020-05-22T12:56:53.313027+00:00 app[web.1]: [2020-05-22 12:56:53 +0000] [4] [DEBUG] 2 workers
2020-05-22T12:56:54.373035+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/favicon.ico" host=dashdiffeq410.herokuapp.com request_id=2cb221f7-3c14-4397-b0b1-e596037a17ed fwd="71.142.111.162" dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 protocol=https
2020-05-22T12:58:23.565869+00:00 app[web.1]: [2020-05-22 12:58:23 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:118)
2020-05-22T12:58:23.572088+00:00 app[web.1]: [2020-05-22 12:58:23 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:119)
python heroku plotly-dash
1个回答
0
投票

发现了问题。在服务器上运行用于求解微分方程的函数的时间过长,导致超时。开发服务器不在乎运行数学生成绘图所花的时间。通过仅让用户选择不会导致超时的输入,并确保页面具有合理的响应能力,即可解决该问题。

© www.soinside.com 2019 - 2024. All rights reserved.