django-crontab实现定时任务
官方文档:https://github.com/kraiz/django-crontab
- 安装django-crontab:
pip install django-crontab - 在settings.py中注册任务:
INSTALLED_APPS = [ ... 'django_crontab', ] - 在settings.py中配置
CRONJOBS = [ # 定时执行自定义函数 # ('*/1 * * * *', 'app名.定时函数所在的py文件名.定时函数名', '>> 输出文件路径和名称') # 每1分钟执行restart_pm2函数,并将执行中的返回的内容全部打印到crontab.log文件中 ('*/1 * * * *', 'app1.tasks.test11', '>>/home/tianchi/apps/ecology/logs/crontab.log'), # 定时执行django中自定义命令 # 每1分钟执行django的自定义命令,并将执行中的返回的内容全部打印到crontab.log文件中 # ('*/1 * * * *', 'django.core.management.call_command', ['命令名'], {"参数名": "参数值"}, '>>输出文件路径和名称'), ('*/1 * * * *', 'django.core.management.call_command', ['mycommand2'], {"param": "mycommand2_test"}, '>>/home/tianchi/apps/ecology/logs/crontab.log') ] - 定时任务-自定义函数:在对应的应用下创建task.py文件(apps/app1/task.py),并创建函数即可
def test11(): from time import strftime, localtime print(strftime("%Y-%m-%d %H:%M:%S", localtime()), end='') print("执行了test11函数") - 定时任务-django自定义命令:详阅djano自定义命令
- 添加并开启定时任务:
python manage.py crontab add - python环境查看定时任务:
python manage.py crontab show - 删除定时任务:
python manage.py crontab remove - 在linux中(root下)查看定时任务:
crontab -l - 注意:django-crontab只能基于linux环境使用
- 查看cron服务status:
service cron status - 开启cron服务:
service cron start - 查看cron日志:
tail -fn 100 /var/log/cron.log
- 查看cron服务status:
版权声明:本文为weixin_37008947原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。