美文网首页
Celery简单使用

Celery简单使用

作者: 洛奇lodge | 来源:发表于2019-08-05 11:03 被阅读0次

    简介

    Celery是一个简单,灵活,可靠的分布式系统。专注于实时处理,同时还支持任务调度。是相当于生产者和消费者模式。中间有一个消息队列。架构体系如下图:

    Celery消息队列

    消息队列选择一般选择以下两种

    1、redis

    这是比较轻量级的

    2、rabbitmq

    这是比较重量级的

    Celery生产者(任务调度)

      常用调用方式
       # 1、最简单方式调用
      task.delay(arg1, arg2, kwarg1='x', kwarg2='y')
      # 2、支持额外的执行选项
      task.apply_async(args=[arg1, arg2], kwargs={'kwarg1': 'x', 'kwarg2': 'y'}, link=task.s(arg3))
    

    Celery消费者(程序运行)

      # celery -A 任务文件名 woker --loglevel=日志等级
       celery -A tasks worker --loglevel=info
    

    Celery一个demo

    1、目录划分
    2、代码结构

    main.py

      from celery import Celery
      # 创建一个celery对象
      celery_app = Celery("celery_tasks")
    
      # 加载配置文件
      celery_app.config_from_object('celery_tasks.config')
    
      # 让celery自动发现任务
      celery_app.autodiscover_tasks(['celery_tasks.test'])
    

    test/tasks.py

       from celery_tasks.main import celery_app
       
       @celery_app.task()
       def send_sms_code():
           print('你好。。。')
    

    config.py

        # 指定中间人broker地址(例子选用redis)
        broker_url = 'redis://127.0.0.1:6379/0'
    

    文档:http://docs.celeryproject.org/en/latest/index.html

    相关文章

      网友评论

          本文标题:Celery简单使用

          本文链接:https://www.haomeiwen.com/subject/pqdnaqtx.html