定时器是平时编程中比较常用的,今天分享一个Django里非常好用又简单的定时亲:Django-crontab。这个真的是非常的简单好用,比celery+Django执行周期任务简单的多

首先下载django-crontab.

pip install django-crontab

配置相关信息。

目录setting.py

#将django-crontab注册到app中
INSTALLED_APPS = [
    ...
    'django_crontab',  # 定时任务
    ...
]

# 定时任务
CRONJOBS = [
    # 每5分钟执行一次生成主页静态文件,第一个参数为设置定时器执行的时间,第二个参数是指定定时器执行代码位置,第三个参数为程序结果输出到指定文件。
    ('*/5 * * * *', 'mytest.info.generate_static_index_html', '>> /Users/delron/Desktop/******/logs/crontab.log') 

# 解决crontab中文问题
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'



时间基本格式 :

* * * * *

分 时 日 月 周      命令

M: 分钟(0-59)。每分钟用*或者 */1表示

H:小时(0-23)。(0表示0点)

D:天(1-31)。

m: 月(1-12)。

d: 一星期内的天(0~6,0为星期天)。

ok,配置完成,接下来就可以开启定时任务啦。

添加定时任务

python manage.py crontab add

查看正在运行的定时任务

python manage.py crontab show

删除定时任务

python manage.py crontab remove