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

在django应用程序中运行周期性任务的清晰分步过程,django,scheduling,periodic-task,Django,Scheduling,Periodic Task,我一直在尝试在Django中创建一个定期任务,但是有很多版本限制,没有明确的解释。我推荐芹菜。是什么 芹菜支持调度任务。选中首先,您要按照本指南创建管理命令。 假设我们希望每5分钟运行一次示例中的closepoll命令。 然后需要创建一个脚本来运行此命令 Linux/MacOS: #!/bin/bash -e cd path/to/your/django/project source venv/bin/activate # if you use venv python manage.py c

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

我推荐
芹菜
。是什么


芹菜支持调度任务。选中

首先,您要按照本指南创建管理命令。

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

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\u closepoll.sh
,在命令行中运行
chmod+x run\u closepoll.sh

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

在命令行中运行
crontab-e
添加此行:
*/5****/path/to/run\u closepoll.sh
现在,该命令将每5分钟运行一次。 如果您不熟悉crontab,可以使用此网站

窗口:

Same content as the above example, but remove the first line and save as run_closepoll.bat
在“开始”菜单中,搜索
任务调度器
,按照GUI上的说明进行操作,从那里应该非常简单


有关任务调度器的更多信息,请参见此处:

本博客对此进行了详细解释


谢谢

目前我不想看这篇文章,但我相信它会在以后的项目中对我有所帮助。谢谢@rabbit.aaronIt,如果你至少提到这个链接是关于什么的,它会对读者更有用。它建议使用芹菜(在前面的回答中已经提出)。对于小项目来说,芹菜太重了。