zoukankan      html  css  js  c++  java
  • Celery多任务结构

    视图结构

    pro_cel
        ├── celery_task# celery相关文件夹
        │   ├── celery.py   # celery连接和配置相关文件,必须叫这个名字
        │   └── tasks1.py    #  所有任务函数,如用户相关
        │    └── tasks2.py    #  所有任务函数,如订单相关
        ├── check_result.py # 检查结果
        └── send_task.py    # 触发任务

    celery.py 配置信息

    
    
    # 必须叫celery,生成celery对象
    from celery import Celery
    
    # 下面是配置信息,这里使用redis为列
    
    # 处理结果
    backend = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/7'
    # 中间人
    broker = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/8'
    APP = Celery('test', broker=broker, backend=backend,
                 # 包含一下俩个任务文件,去相应的py文件中找任务,对多个任务做分类
                 include=[
                     'celery_task.order_task',
                     'celery_task.user_task',
                 ])

    celery配置中 include是多任务的时候celery会自己去里面找任务去执行

    order_task.py 订单相关的任务

    # 订单相关
    from celery_task.celery import APP
    
    
    @APP.task
    def order_add(x, y):
        import time
        time.sleep(1)
        return '订单相关的:%s' % (x + y)

     user_task.py 用户相关的任务

    # 用户相关
    from celery_task.celery import APP
    
    
    @APP.task
    def user_add(x, y):
        import time
        time.sleep(2)
        return '用户相关的:%s' % (x + y)

     add_task.py 提交任务

    from celery_task.order_task import order_add
    from celery_task.user_task import user_add
    
    order = order_add.delay(5, 6)
    user = user_add.delay(10, 0)
    print(order)
    print(user)

    启动worker

    linux命令:celery worker -A celery_task -l info

    win命令:celery worker -A celery_task -l info -P eventlet

    多任务直接启动 celery_task 这个包就行了,因为里面必须固定写celery

    注:celery_task是自己创建包的那个名字

     

    获取结果同上一篇文章

  • 相关阅读:
    块设备驱动、bio理解
    configfs_sample.c 理解
    configfs-用户空间控制的内核对象配置
    infiniswap安装
    virtualBox环境下安装centos7,设置虚拟主机和本地主机网络互通的几个关键步骤
    知识点-web
    SpringSecutiry源码探究(DAO密码认证)
    知识点-线程
    知识点-基础
    keypoint
  • 原文地址:https://www.cnblogs.com/limengda/p/11221177.html
Copyright © 2011-2022 走看看