代码之家  ›  专栏  ›  技术社区  ›  Avi Rob Spoor

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

  •  0
  • Avi Rob Spoor  · 技术社区  · 7 年前

    我正试图在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 初始化,它工作。但我不希望我的线程被守护。

    0 回复  |  直到 7 年前