在 django 应用程序中运行定期任务的清晰分步过程

Alb*_*vid 7 django scheduling periodic-task

我一直在尝试在 Django 中创建定期任务,但有很多版本限制并且没有明确的解释。

rab*_*ron 7

首先,您要按照本指南创建管理命令。 https://docs.djangoproject.com/en/2.1/howto/custom-management-commands/

假设我们希望closepoll每 5 分钟运行一次示例中的命令。然后,您需要创建一个脚本来运行此命令。

Linux/MacOS:

#!/bin/bash -e
cd path/to/your/django/project
source venv/bin/activate  # if you use venv
python manage.py closepoll  # maybe you want to >> /path/to/log so you can log the results
Run Code Online (Sandbox Code Playgroud)

将文件存储为,在命令行中run_closepoll.sh运行chmod +x run_closepoll.sh

现在我们可以使用 crontab 来运行我们的命令

crontab -e在命令行中 运行添加以下行:*/5 * * * * /path/to/run_closepoll.sh 现在该命令将每 5 分钟运行一次。如果您不熟悉 crontab,可以使用这个网站 https://crontab-generator.org/

视窗:

Same content as the above example, but remove the first line and save as run_closepoll.bat
Run Code Online (Sandbox Code Playgroud)

在开始菜单中,搜索Task Scheduler,按照 GUI 上的说明进行操作,从那里开始应该非常简单。

有关任务计划程序的更多信息,请参阅此处: https: //learn.microsoft.com/en-us/windows/desktop/taskschd/using-the-task-scheduler


Yon*_* Jo 5

我建议Celery。什么是芹菜

Celery 支持调度任务。检查这个文档