django-crontab实现定时任务
1 django-crontab安装
- django-crontab安装:
django-crontab加入:只需要将
INSTALLED_APPS
即可。如下代码:INSTALLED_APPS = ( ‘django_crontab‘, ... )
2 django-crontab配置
django-crontab可以定时运行自定义命令和函数两种方式,因为之前尝试用command+crontab时已经实现了自定义command,所以自然而然使用了自定义命令这种形式。
2.1 django-crontab定时运行命令
我先参考Django官方文档自定义了一个命令 其次,我在
意思就是每天11点47分运行
2.2 django-crontab定时运行函数
django-crontab也可以定时运行函数,只是在
CRONJOBS
关于函数的配置如下:
CRONJOBS = (
# 初级模式
(‘*/5 * * * *‘, ‘myproject.myapp.cron.my_scheduled_job‘),
# 中级模式
(‘0 0 1 * *‘, ‘myproject.myapp.cron.my_scheduled_job‘, ‘> /tmp/last_scheduled_job.log‘),
#高级模式
(‘0 0 * * 0‘, ‘django.core.management.call_command‘, [‘dumpdata‘, ‘auth‘], {‘indent‘: 4}, ‘> /home/john/backups/last_sunday_auth_backup.json‘),
)
分析结果:
- 初级模式很直观,意思就是每五分钟执行一次
my_scheduled_job
的结果输出到文件[‘dumpdata‘, ‘auth‘]
和4}
都是参数,只是{}
中的参数指定了变量名称,最后一个也是输出结果的后缀。
3 django-crontab任务加载
django-crontab任务加载比较简单,只需要运行crontab -e
可以看到crontab中多了一行:
* * * /home/aizhan/bin/python /home/aizhan/aizhan/manage.py crontab run c27d1050fb7f87225bcff587ef5a35a3 # django-cronjobs for aizhan
这是django-crontab自动生成的。
- 如果要移除所有的任务,则运行
通过crontab -l 可以看到生成的定时任务
原文链接 http://www.aiuxian.com/article/p-3187478.html
时间: 2024-10-13 01:13:50