django+celery 定时任务

django+celery 实现定时任务

首先介绍定时任务,跟crontab类似,celery的定时任务可以很灵活的设置执行的时间频率,定时任务需要启用django,celery,beat三个应用。
实现一个定时任务只需要三步就可以搞定。
第一步: 在需要执行定时任务的函数加上task装饰器,表示这个函数由celery接管
    

点击(此处)折叠或打开

  1. from celery import task

  2. @task
  3. def func():
  4.    pass
第二步: 在celery配置文件中加入定时任务配置,主要配置就是对时间频率的设置,在哪个时间点运行任务,
    以及运行的频率,配置文件为celery.py(跟settings相同目录)
    

点击(此处)折叠或打开

  1. app.conf.update(
  2.     CELERYBEAT_SCHEDULE={
  3.         'do-task-everyday-func': {
  4.             'task': 'func',
  5.             'schedule': crontab(minute='30', hour='10', day_of_week='*',   
  6.                                 day_of_month='*', month_of_year='*')
  7.         }
  8. })  表示每天的10:30运行func任务,task定位运行函数,schedule定位运行日程

第三步: 运行celery

点击(此处)折叠或打开

  1. 运行django应用                      python manage.py runserver 0.0.0.0:8000
  2.  运行celery(用来执行任务的守护线程)    celery -A $appname worker -l info
  3.     celery会显示由celery监管的函数[tasks]
  4.     
  5. 运行beat进行(用来监控定时任务是否需要执行) celery -A $appname beat
  6.     
  7.     
  8.     显示捕捉到的定时任务函数
        

    
    



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值