您的位置:首页 > 编程语言 > Go语言

【Django】Django 定时任务实现(django-crontab+command)

2017-07-10 14:32 471 查看

一、编写自定义django-admin命令

注:利用django-admin自定义命令我们可以ORM框架对model进行操作,如:定时更新数据库,检测数据库状态.....


Django为项目中每一个应用下的management/commands目录中名字没有以下划线开始的Python模块都注册了一个manage.py命令,例如:

polls/
__init__.py
models.py
management/
__init__.py
commands/
__init__.py
_private.py
closepoll.py
tests.py
views.py


_private.py将不可以作为一个管理命令使用。

closepoll.py模块只有一个要求 – 它必须定义一个Command类并扩展自Basecommand或其子类

新的自定义命令可以使用python manage.py closepoll 调用。

二、 django-crontab实现Django定时任务

django-crontab安装

django-crontab加入:只需要将
django-crontab
加入到settings.py的
INSTALLED_APPS
即可。如下代码:

django-crontab配置
settings.py
中加入django-crontab的命令即可:

   格式:
         参数1:定时 例如
47 11 * * *
表示每天的11时47分执行
         参数2:方法的python模块路径,如果执行django-admin命令,则写django.core.management.call_command
         参数3:方法的位置参数列表(默认值:[]),如果执行django-admin命令,则填写所需执行的命令,例如我们在polls中已经定义过的closepoll
         参数4:方法的关键字参数的dict(默认值:{})
         参数5:执行log存放位置(即重定向到文件
4000
,默认:'')

django-crontab任务加载

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: