社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

Albin David • 6 年前 • 1606 次点击  

我在django中创建一个周期性任务已经尝试了很长时间,但是有很多版本限制,而且没有一个清晰的解释。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44085
 
1606 次点击  
文章 [ 3 ]  |  最新文章 6 年前
Albin David
Reply   •   1 楼
Albin David    6 年前
rabbit.aaron
Reply   •   2 楼
rabbit.aaron    6 年前

首先,您要根据本指南创建一个管理命令。 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

Yongjin Jo
Reply   •   3 楼
Yongjin Jo    6 年前

我推荐 Celery . 是什么 Celery ?

芹菜支持安排任务。检查 this doc