celery 异步任务(基础)

Celery:是一个简单可靠的分布式系统用于处理大量信息,专注于实时处理的任务队列,同时也 支持任务调度,python编写

  1. 队列:
    1. 消息队列 :用于存放执行结果的
    2. 任务队列  :用于存放任务
  2. 启动命令
    1. Celery -A celery_tasks.celery -l info(生产者)
    2. Celery -A celery_tasks.tasks worker -l info -P eventlet(消费者)
  3. celery定时任务
    1. (生产者)
      1. from celery import Celery
        from celery.schedules import crontab,timedelta
        #这是创建一个定时任务对象
        celery_app = Celery(
            'celery_app',
        #redis存储创建的任务和消费者处理结果,可以用其他的如:rabbitmq……
            backend='redis://127.0.0.1:6379/0',
            broker='redis://127.0.0.1:6379/0',
            include=['celery_tasks.tasks', ]
        )
        #设置时区
        celery_app.conf.timezone = 'Asia/Shanghai'
        #不采用世界标准时间
        celery_app.conf.enable_utc=False
        celery_app.conf.beat_schedule={
            #任务名称随便写
            '测试':{
         #任务的位置精确到装饰器所装饰的函数
                'task':'celery_tasks.tasks.run',
        #时间可以是timedelta,和 crontrb
                'schedule':timedelta(seconds=3)
            }
        }
        # 每分钟执行一次
        # crontab()
        # 每天凌晨十二点执行
        # crontab(minute=0, hour=0)
        # 每十五分钟执行一次
        # crontab(minute='*/15')
        # 每周日的每一分钟执行一次
        # crontab(minute='*',hour='*', day_of_week='sun')
        # 每周三,五的三点,七点和二十二点没十分钟执行一次
        # crontab(minute='*/10',hour='3,17,22', day_of_week='thu,fri')

        1. Celery(消费者)
        2. #导入后直接装饰到想执行的函数
          
          from celery_tasks.celery import celery_app
          
          @celery_app.task
          
          def run():
          
              print('hello world!')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值