一个明显的循序渐进的过程在一个Django应用程序运行的周期性任务

问题描述 投票:1回答:3

我一直在试图长期创建在Django周期性任务,但也有很多版本的限制,而不是一个明确的解释。

django scheduling periodic-task
3个回答
2
投票

我建议Celery。什么是Celery

芹菜支持计划任务。检查this doc


2
投票

首先,你要创建一个管理命令遵循本指南。 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_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

在你的开始菜单,搜索Task Scheduler,请在GUI上的说明进行操作,它应该是从那里很简单。

有关任务调度的详细信息,请参见这里:https://docs.microsoft.com/en-us/windows/desktop/taskschd/using-the-task-scheduler


1
投票
© www.soinside.com 2019 - 2024. All rights reserved.