【问题标题】:R12/timeout error deploying multi-page dash app to heroku将多页破折号应用程序部署到 Heroku 时出现 R12/超时错误
【发布时间】:2020-05-23 14:48:02
【问题描述】:

尝试学习 Dash 的技巧,并制作了这个玩具仪表板来显示热方程的解。部署到 heroku 的单页版本工作正常,但多页版本出现此超时错误(请参阅下面的日志)。它在本地运行良好。

我做了我理解的必要更改以使其正确部署,即将 procfile 从 app:server 更改为 index:server,然后将 app.server 导入 index.html。

我尝试在索引中分配服务器而不是从应用程序导入,并尝试添加这一行 (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】:

    发现问题。在服务器上运行求解微分方程的函数花费的时间太长,导致超时。开发服务器并不关心运行数学生成绘图需要多长时间。通过只让用户选择不会导致超时并确保页面响应合理的输入来解决问题。

    【讨论】:

      猜你喜欢
      • 2013-02-15
      • 2022-09-25
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      • 2017-02-04
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多