在做一个django项目的时候,我遇到了一个定时任务的需求,我这里是需要定时扫描数据库并发送邮件,在查阅相关资料后,总结出如下几个方法
在我斟酌再三,最终还是选择了django-crontab这个方法,这个方法最契合我的需求,同时也相对简单,所以本文也就着重介绍一下
这里使用pip安装即可,在终端输入以下命令即可
pip install django-crontab
在django项目的settings.py的INSTALLED_APPS添加django-crontab
django-crontab可以定时运行自定义命令和函数两种方式
在django项目的settings.py中添加以下命令
CRONJOBS = (
('*/1 * * * *', '你的app名.定时函数所在的py文件名.定时函数名'),
('0 0 1 * *', '你的app名.定时函数所在的py文件名.定时函数名', '> 输出文件路径和名称'),
)
CRONJOBS = (
('10 12 * * *', 'django.core.management.call_command', ['要执行的命令']),
)
注: