折腾了个双色球和大乐透的历史数据库,然后最新的需要定时走免费API获取下,顺道学习了下 Django-crontab 的配置使用
1. 下载安装
pip install django-crontab
2. 应用配置
# settings.py
# 添加应用
INSTALLED_APPS = [
……
'django_crontab',
]
# 配置定时任务
CRONJOBS = [
# 分 时 日 月 周 要执行的命令/脚本(对应创建的 tasks.py 里的业务函数)
('0 0 * * *', 'lottery.tasks.update_dlt', '>> /tmp/lottery_dlt.log 2>&1'),
]
3. 定时程序
# 应用中创建 tasks.py
# 定时任务
def update_dlt():
url = 'https://api.ooxx.com'
data = requests.get(url).json()
# 业务处理等
4. 开启、查看、清除
# 开启
python3 manage.py crontab add
# 查看
python3 manage.py crontab show
# 清除
python3 manage.py crontab remove
可以修改到就近时间,查看日志了解具体业务情况。
定时参考配置
# crontab 定时参考,格式为: 分 时 日 月 周 command
# 每分钟执行一次
* * * * * command
# 每小时的第 5 分钟执行
5 * * * * command
# 每天 2 点 30 分执行
30 2 * * * command
# 每周日凌晨 3 点执行
0 3 * * 0 command
# 每月 1 号 5 点执行
0 5 1 * * command
# 每 15 分钟执行一次
*/15 * * * * command
# 工作日(周一到周五)早上 8 点执行
0 8 * * 1-5 command
# 每年 1 月 1 日执行
0 0 1 1 * command