zoukankan      html  css  js  c++  java
  • celery

    多个不同配置、组件、task的celery可以共存于同一个进程中

    每一个worker 保存一个 task名---task实际代码 的映射,称之为:任务注册表(task registry),即:app.tasks

    每创建一个task,就会将这个映射添加到 任务注册表

    如果celery找不到某个task属于哪个模块,如果在task程序代码的源文件中,那么就是 "main.fun",
    如果该task被引入到其他模块,那么该task名字就是 "module_name.fun"

    自定义celery名字 app = Celery("haha")
    可以通过app.mian 查看 celery实例的名字,包括在函数的源文件中,其名字显示为:haha.fun

    a.py
    
    from celery import Celery
    
    app = Celery()
    
    @app.task
    def add(x, y):
        return x + y
    
    
    
    if __name__ == "__main__":
        print(__name__) # __main__
        print(app.main)  # None
        print(add) #<@task: __main__.add of __main__ at 0x7f1a9dfda7b8>
        print(add.__name__)  # add
        print(app.tasks)   # {  '__main__.add': <@task: __main__.add of __main__ at 0x7f1a9dfda7b8>, ...}
        print(app.tasks['__main__.add']) #@task: __main__.add of __main__ at 0x7f1a9dfda7b8>
    
    b.py
    from a import  add,app
    
    
    print(add.__name__)  # add
    print(app.tasks)  # { 'a.add': <@task: a.add of __main__ at 0x7fde0ad18128>, ....}
    
    
    ```python
    a.py
    
    from celery import Celery
    
    app = Celery("haha")
    
    @app.task
    def add(x, y):
        return x + y
    
    if __name__ == '__main__':
        print(__name__)  # __main__
        print(app.main)   # haha
        print(add)   # <@task: haha.add of haha at 0x7fe9552dd898>
        print(add.__name__)  # add
        print(app.tasks)  # { 'haha.add': <@task: haha.add of haha at 0x7fe9552dd898>,....}
        print(app.tasks['haha.add'])  # <@task: haha.add of haha at 0x7fe9552dd898>,
    
    
    b.py
    from a import  add,app
    
    
    print(add.__name__)   # add
    print(app.tasks)  # {'a.add': <@task: a.add of haha at 0x7f633070add8>,...}
  • 相关阅读:
    常用公共配置类——定时任务配置
    常用公共工具类——生成token
    常用公共工具类——分页工具类(IPage)
    常用公共工具类——Shiro工具类
    常用公共工具类——Redis工具类
    fmt.sprintf,fprintf区别
    web界面不显示内容排查思路
    golang值传递和引用传递
    web开发
    聊聊crd和list-watch
  • 原文地址:https://www.cnblogs.com/jijizhazha/p/8709819.html
Copyright © 2011-2022 走看看