不能将Dash应用程序背景回调添加到Celery中运行。
创始人
2024-12-27 04:30:04
0

问题的原因是Celery默认使用pickle序列化任务函数,而Dash应用程序中的回调函数通常不能使用pickle序列化。这可能会导致Celery无法找到完整的函数对象并因此无法执行任务。

为了解决这个问题,可以指定Celery使用其他的序列化程序,比如json。以下是一个示例代码,展示了如何在Celery中使用json序列化来解决这个问题:

from celery import Celery
from celery.signals import worker_process_init, worker_process_shutdown

from dash.dependencies import Input, Output
import dash_html_components as html
import dash


app = dash.Dash(__name__)
server = app.server


@worker_process_init.connect
def init_worker(**kwargs):
    global app
    app = dash.Dash(__name__)
    server = app.server


@worker_process_shutdown.connect
def shutdown_worker(**kwargs):
    global app
    app = None


app.layout = html.Div(
    [
        html.Button("Submit", id="submit-button"),
        html.P(id="output")
    ]
)


@app.callback(Output("output", "children"), [Input("submit-button", "n_clicks")])
def update_output(n_clicks):
    return f"Button clicked {n_clicks} times."


celery = Celery(__name__, broker="redis://localhost:6379/0", backend="redis://localhost:6379/0", task_serializer="json")


@celery.task
def run_dash_app():
    app.run_server(debug=False, mode="external")


if __name__ == "__main__":
    run_dash_app.delay()

在上面的例子中,我们使用 worker_process_initworker_process_shutdown 信号来初始化和关闭Dash app,这样就可以确保所有Celery任务都在同一个进程中运行。然后,在Celery任务函数中,我们指定使用json序列化。

使用这种方法可以确保我们可以将Dash应用程序的背景回调添加到Celery任务队列中,并且可以顺利地运行。

相关内容

热门资讯

总算清楚!博乐填大坑有没有bu... 总算清楚!博乐填大坑有没有buff,微信中至有辅助吗,详细方法(揭秘有挂)小薇(辅助器软件下载)致您...
明白辅助挂!hhpoker有没... 明白辅助挂!hhpoker有没有作弊挂,德扑软件,总是是有挂(有挂细节)1、德扑软件脚本辅助下载、德...
2024教程!九江讨赏辅助,微... 2024教程!九江讨赏辅助,微乐钻石兑换码,详细器(有挂详情)该软件可以轻松地帮助玩家将微乐钻石兑换...
无独有偶!wpk插件辅助,德扑... 无独有偶!wpk插件辅助,德扑之星私人局辅助器,真是是有挂(存在有挂)1、德扑之星私人局辅助器脚本辅...
科技介绍!蜀渝牌血战到底辅助,... 科技介绍!蜀渝牌血战到底辅助,摸一把跑得快辅助器,详细攻略(有挂分析)1、下载好蜀渝牌血战到底辅助正...
2026版攻略!德普辅助器怎么... 2026版攻略!德普辅助器怎么用,德普之星辅助软件,切实存在有挂(的确有挂)在进入德普之星辅助软件软...
发现玩家!欢乐游戏城攻略,闲逸... 发现玩家!欢乐游戏城攻略,闲逸碰胡金钟罩,详细器(有挂工具)1、闲逸碰胡金钟罩免费脚本咨询教程、闲逸...
第三方插件!德普之星怎么设置埋... 第三方插件!德普之星怎么设置埋牌,德扑之星有辅助软件吗,原来是真的有挂(详细教程)1、超多福利:超高...
9分钟了解!拱趴大菠萝辅助神器... 9分钟了解!拱趴大菠萝辅助神器,雀友会潮汕麻将开挂辅助,详细器(有挂方略)1)雀友会潮汕麻将开挂辅助...
这一现象值得深思!wpk插件辅... 这一现象值得深思!wpk插件辅助,德普之星透视辅助软件下载,原来是有挂(有挂秘诀)小薇(辅助器软件下...