Django:运行 在 IIS 托管的应用程序上持续 运行ning 后台任务

Django: Run Constantly Running Background Task On IIS-Hosted Application

我有一个托管在 IIS 上的 Django Web 应用程序。我的子进程应该总是 运行ning 与 Web 应用程序并存。当我 运行 本地应用程序使用

python manage.py 运行服务器 当应用程序处于 运行ning 时,后台任务 运行s 完美无缺。但是,托管在 IIS 上的后台任务似乎没有 运行。即使托管在 IIS 上,我如何执行任务 运行?

在 Django 的 manage.py 文件中,我有以下代码:

 def run_background():
     return subprocess.Popen(["python", "background.py"], creationflag=subprocess.CREATE_NEW_PROCESS_GROUP)
 run_background()
 execute_from_command_line(sys.argv)

我不知道如何解决这个问题。

Celery 之类的东西可以无限期地 运行 完成一项任务吗?我该怎么做?请给出步骤说明。

您可以按照以下步骤将应用程序设置为自动启动:

  • Select站点->高级设置->预加载启用=”true”

  • Select Application pool->advance setting->start mode=”always 运行”, Process Model部分下,设置Idle Time-out (minutes)选项为 0,在回收部分下,将常规时间间隔(分钟)选项设置为 0

  • 运行 命令提示符下的 iisreset 命令。

此外,检查您是否设置了 FastCGI 设置:

此致, 贾尔帕