我\xe2\x80\x99一直在开发一个使用 的 dash 应用程序long_callback,并且为了开发,我\xe2\x80\x99一直在diskcache为我的 使用后端long_callback_manager,正如我在这里找到的指南所建议的:https://dash.plotly。 com/长回调
当我尝试使用 Gunicorn 运行我的应用程序时,它无法启动,因为diskcache. 因此,我决定切换到 celery/redis 后端,因为 \xe2\x80\x99s 无论如何都建议用于生产。
我运行了一个 redis 服务器(正确响应 with redis-cli ping)PONG,然后再次启动该应用程序。这次它启动得很好,所有正常的回调都起作用,但不起作用long_callback。
细节:
\nUpdating...,表明应用程序认为\xe2\x80\x99s\xe2\x80\x9c正在等待\xe2\x80\x9d的响应/更新这long_callback。long_callback被设置为它们的起始值,表明应用程序识别出long_callback应该运行。long_callback并看到它没有打印,我确定该函数永远不会启动。这些细节都表明问题出在 celery/redis 后端。无论是在客户端/浏览器上还是在服务器\xe2\x80\x99s stdout/sterr 上都没有显示错误。
\n如何让 celery/redis 后端工作?
\n更新:在意识到该变量正在被使用并且其值根据引用它的文件而变化之后,我还尝试将创建和 的__name__代码移至,但无济于事。完全相同的事情发生了。celery_appLONG_CALLBACK_MANAGERapp.py …