AppConfig中的Django ready在启动线程时被卡住

2024-04-28 21:23:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Django项目中创建一个背景线程。为此,我在我的项目下创建了一个新应用程序,并定义了一个AppConfig,如下所示:

class WebhooksConfig(AppConfig):
    name = "my_app"

    def ready(self):
        super(WebhooksConfig, self).ready()
        MyListener.start()

MyListener.start()方法如下所示:

@classmethod
def start(cls):
    worker = Thread(target=cls.my_entry_point)
    worker.start()

我希望在worker.start()之后,主线程将被释放,ready方法将完成。相反,它看起来像是这个踏板开始挂起整个应用程序。 如果我将daemon=True添加到Thread初始化中,它就会工作。但我不想我的线程被恶魔化。你知道吗


Tags: 项目方法self应用程序mydef线程thread