如何在 Heroku 上使用破折号 dcc.Upload 和 dcc.Store?
How do I use dash dcc.Upload and dcc.Store on Heroku?
我最近发布了一个使用 Plotly Dash 库构建的 Heroku 网络应用程序。该网络应用程序依赖于使用 Dash 核心组件 (dcc) dcc.Upload
上传文件,然后使用 dcc.Store
保存文件。这在本地主机上完美运行,但是,当尝试将文件上传到 Heroku 托管的实时版本时,app.callback
取决于上传的文件不会触发。
- 在 Heroku 上使用
dcc.Upload
或 dcc.Store
有什么问题吗?我在论坛上没有发现任何相关问题。这些文件并不大(< 1 MB),正如我所说,它都可以在本地主机上运行。
- 因为它不在我的本地主机上,所以我在进行故障排除时遇到了问题。有什么简单的方法可以对 Heroku 上的实时网络应用程序进行故障排除吗?
您的应用程序通过的用户 运行 可能没有对上传后保存文件的目录的写入权限。
尝试检查目录的权限。如果仍然无法正常工作,请分享您遇到的错误。这样更容易分享解决方案。
经过一些挖掘,我发现回调的突然缺陷是由于 Heroku 代码 H12 的超时错误造成的。 H12 声明任何在 30 秒内没有响应的呼叫将被终止。因此,解决方案是将回调减少到更小的组件中,以便没有函数超过 30 秒限制。
我最近发布了一个使用 Plotly Dash 库构建的 Heroku 网络应用程序。该网络应用程序依赖于使用 Dash 核心组件 (dcc) dcc.Upload
上传文件,然后使用 dcc.Store
保存文件。这在本地主机上完美运行,但是,当尝试将文件上传到 Heroku 托管的实时版本时,app.callback
取决于上传的文件不会触发。
- 在 Heroku 上使用
dcc.Upload
或dcc.Store
有什么问题吗?我在论坛上没有发现任何相关问题。这些文件并不大(< 1 MB),正如我所说,它都可以在本地主机上运行。 - 因为它不在我的本地主机上,所以我在进行故障排除时遇到了问题。有什么简单的方法可以对 Heroku 上的实时网络应用程序进行故障排除吗?
您的应用程序通过的用户 运行 可能没有对上传后保存文件的目录的写入权限。
尝试检查目录的权限。如果仍然无法正常工作,请分享您遇到的错误。这样更容易分享解决方案。
经过一些挖掘,我发现回调的突然缺陷是由于 Heroku 代码 H12 的超时错误造成的。 H12 声明任何在 30 秒内没有响应的呼叫将被终止。因此,解决方案是将回调减少到更小的组件中,以便没有函数超过 30 秒限制。