zoukankan      html  css  js  c++  java
  • Celery任务列表执行

    创建计划任务:

    from celery import Celery
    import time
    
    my_task=Celery("task",broker="redis://:123456@127.0.0.1:6379",backend="redis://:123456@127.0.0.1:6379")
    
    @my_task.task
    def my_func1():
        time.sleep(10)
        return "任务1"
    
    @my_task.task
    def my_func2():
        return "任务2"
    
    
    @my_task.task
    def my_func3():
        return "任务"

    调用方法执行指定的任务:

    from s1 import my_func1
    
    res=my_func1.delay()
    print(res)

    获取返回值中运行计划的ID

    判断计划是否执行完成:

    from celery.result import AsyncResult
    from s1 import my_task
    
    async_task=AsyncResult(id="48029f4f-769e-438b-ac97-e89cc0bb1157",app=my_task)
    # result=async_task.get()
    
    if async_task.successful():
        result=async_task.get()
        print(result+"OK!")
    else:
        print("任务还未执行完成!")

     启动celery在命令行执行: Celery worker -A s1 -l INFO -P eventlet -c 6

    -A:指定要执行的目录

    -l: 指定要使用的打印日志级别

    -p:指定使用eventlet插件 让高版本celery支持window平台

    -c:指定可执行的计划数量

  • 相关阅读:
    UVA Live Achrive 4327 Parade (单调队列,dp)
    从磁盘读取一个文件到内存中,再打印到控制台
    二分查找法
    日期:Date
    线程与进程
    泛型基本知识
    泛型
    Map集合的遍历方式:
    Arrays
    Set接口
  • 原文地址:https://www.cnblogs.com/wen-kang/p/10893385.html
Copyright © 2011-2022 走看看