定时任务crontab静态化页面

1,为什么要页面静态化?

  • 首页是用户浏览最多的,不能每次都要查询数据库,采用静态化减轻数据库压力
  • 查询速度快,用户体验感比较好

2,为什么要添加定时任务?

  • 对于首页的静态化,考虑到页面的数据可能由多名运营人员维护,并且经常变动,所以将其做成定时任务.
  • 在Django执行定时任务,可以通过django-crontab扩展实现。

django-crontab使用流程:

1,安装

pip install django-crontab

2,注册 django-crontab 应用

INSTALLED_APPS = [    
    'django_crontab', # 定时任务
]

3.设置定时任务

定时任务分为三部分定义:

  • 任务时间
  • 任务方法
  • 任务日志
CRONJOBS = [
    # 每1分钟生成一次首页静态文件
    ('*/1 * * * *', '生成静态文件的方法名例如:contents.crons.generate_static_index_html', '>> ' + os.path.join(os.path.dirname(BASE_DIR), 'logs/crontab.log'))
]

4,任务时间设置解析:

定时时间基本格式 :


分 --- M: 分钟(0-59)。每分钟用 * 或者 */1 表示
时 --- H:小时(0-23)。(0表示0点)
日 --- D:天(1-31)。
月 --- m: 月(1-12)。
周 --- d: 一星期内的天(0~6,0为星期天)。

5,如果有出现字符异常错误的情况,用一下方法解决:
CRONTAB_COMMAND_PREFIX = 'LANG_ALL=zh_cn.UTF-8'
6,定时器相关命令:

python manage.py crontab add  添加定时任务
python manage.py crontab remove 清除定时任务
python manage.py crontab show 显示定时任务

你可能感兴趣的:(定时任务crontab静态化页面)