zoukankan      html  css  js  c++  java
  • celery 基础

    zzy_celery

    # 1. app 任务 创建或者发布任务
    # 2. broker backend
    # 3.Worker
    
    from celery import Celery
    import time
    my_task = Celery('task', broker='redis://39.105.68.23',
                     backend='redis://39.105.168.23:6379')
    
    
    @my_task.task
    def my_func1(a, b):
        time.sleep(1)
        return f'my_func1 return{a}{b}'
    
    
    @my_task.task
    def ny_func2():
        return 'my_func2'
    
    
    @my_task.task
    def my_func3():
        return 'my_func3'
    
    
    from .s1 import my_func1
    
    res = my_func1.delay(2, 3)
    print(res)
    
    
    
    from celery.result import AsyncResult
    from .s1 import my_task
    
    # 异步获取任务返回值
    async_task = AsyncResult(id='8b45b258-aaaf-433f-8f2d-76d913abecdb',app=my_task)
    result = async_task.get()
    print(result)
    
    # 判断异步任务是否执行成功
    # if async_task.successful():
    #   # 获取异步任务的返回值
    #   result = async_task.get()
    #   print(result)
    # else:
    #       print("任务还未执行成功")
    
    
    
    # 1. app 任务 创建或者发布任务
    # 2. broker backend
    # 3. Worker
    
    from celery import Celery
    my_task = Celery("task", broker="redis://127.0.0.1:6379", backend="redis://127.0.0.1:6379")
    
    
    @my_task.task
    def my_func1(a, b):
        return f"my_func1 return{a}{b}"
    
    
    @my_task.task
    def my_func2():
        return "my_func2"
    
    
    @my_task.task
    def my_func3():
        return "my_func3"
    
    
    
    

    timed_task

    import datetime
    import time
    
    from .s4 import my_func1
    
    tp = time.time()
    utc_time = datetime.datetime.utcfromtimestamp(tp)
    add_time = datetime.timedelta(seconds=10)
    utc_time = utc_time + add_time
    
    res = my_func1.apply_async(args=(7, 8), eta=utc_time)
    
    
    

    celery.py

    from celery import Celery
    my_task = Celery("task",
                     broker="redis://127.0.0.1:6379",
                     backend="redis://127.0.0.1:6379",
                     include=["Celery_task.task_one", "Celery_task.task_two"])
    
    

    task_one.py

    from celery_task.celery import my_task
    
    
    @my_task.task
    def func1():
        return 123
    
    
    @my_task.task
    def func3():
        return 789
    
    

    task_two.py

    from celery_task.celery import my_task
    
    
    @my_task.task
    def func2():
        return 456
    
    
  • 相关阅读:
    MySQL优化---主从复制
    MySQL性能优化---优化方案
    MySQL性能优化---索引
    MySQL性能优化---定位慢查询
    Linux开机启动过程详解
    naginx
    Git搭建
    脚本中特殊字符
    Shell脚本
    简单Shell脚本(实例)
  • 原文地址:https://www.cnblogs.com/zzy7372/p/10397223.html
Copyright © 2011-2022 走看看