• Celery -----异步任务,定时任务,周期任务


    1 什么是Celery?

    Celery是芹菜

    Celery是基于Python实现的模块,用于执行异步定时周期任务的

    其结构的组成是由:

    1 用户任务 app

    2 管道broker用于存储任务 官方推荐redis  rabbitMQ / backend 用于存储任务执行结果的

    3 员工 worker

    2 Celery的简单实例

    s1.py   这是APP

    #首先先下载好celery
    
    from celery import Celery
    import time
    
    #创建一个Celery实例,这就是我们用户的应用app
    my_task = Celery("tasks", broker="redis://127.0.0.1:6379", backend="redis://127.0.0.1:6379")
    
    # 为应用创建任务,func1
    @my_task.task
    def func1(x, y):
        time.sleep(15)
        return x + y
    

    s2.py  这是borker

    from s1 import func1
    
    # 将任务交给Celery的Worker执行
    res = func1.delay(2,4)
    
    #返回任务ID
    print(res.id)
    

    s3.py  这是worker

    from celery.result import AsyncResult
    from s1 import my_task
    
    # 异步获取任务返回值
    async_task = AsyncResult(id="31ec65e8-3995-4ee1-b3a8-1528400afd5a",app=my_task)
    
    # 判断异步任务是否执行成功
    if async_task.successful():
        #获取异步任务的返回值
        result = async_task.get()
        print(result)
    else:
        print("任务还未执行完成")
    
  • 相关阅读:
    unbuntu系统下在文件中按上下左右出现错误码
    构建之法阅读笔记
    cloudera卸载
    第二阶段团队站立会议04
    第二阶段团队站立会议03
    第二阶段团队站立会议02
    第二阶段团队站立会议01
    团队测试
    cnblogs.com的用户体验
    对于每个小组的意见
  • 原文地址:https://www.cnblogs.com/mlhz/p/10397030.html
Copyright © 2020-2023  润新知