【问题标题】:How to execute background thread after server startup? [duplicate]服务器启动后如何执行后台线程? [复制]
【发布时间】:2013-02-26 00:20:03
【问题描述】:

我想在 Django 服务器启动后执行一些 python 代码。此代码有一个无限循环,将在后台运行,直到服务器关闭。它访问数据库和各种互联网服务。同时,用户应该能够使用前端网页并拥有数据库访问权限。

【问题讨论】:

  • @Amber celery 是一个复杂的异步队列管理系统。我只需要在启动时启动一个后台线程
  • celery 不是该问题中列出的唯一答案。
  • 你需要启动一个线程或一个子进程。有很多选择可以做到这一点,这里有很多问题可以提出这个问题,并提供答案。
  • @LennartRegebro 链接的问题没有解释如何在启动时执行代码
  • @bizso09:如果您发现答案不清楚,您可以在那里发表评论以获得进一步的解释。

标签: python django


【解决方案1】:

如果您需要在启动时启动子进程,则需要清除一些位:

  1. 通过“启动”,您必须表示单个 Django 线程何时启动。
  2. 如果您在多线程代理设置下安装了 Django,并且您 只想有一个子进程,不管有多少Django 线程正在您的盒子上运行,您需要解决一些问题 检查您的子进程是否已经启动,或者 将您的“子流程”变成其完整的流程/服务 拥有,并使用某种类型的守护进程管理器来启动 Django 和 您的子流程。

也就是说,最容易修补的地方可能是settings.py。当 Django 线程启动时,此文件/模块被导入一次。

如果您使用 WSGI 代理设置,您也可以在 wsgi.py 中执行此操作。

对于“如何启动线程”的答案,please see this one

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-30
    • 2017-11-02
    • 2021-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多