celery异步任务第二弹

--celery_task

  --__init__.py

  --celery.py

  --tasks.py

--renwu

  --__init__.py

  --renwu_1.py

  --renwu_2.py

    --renwu_3.py

add_task_new.py

 

 

celery.py

from celery import Celery


broker = 'redis://:123456@localhost/1'

backend = 'redis://:123456@localhost/2'

# 所有的任务添加至inclue
app = Celery('demo', broker=broker, backend=backend, include=['renwu.renwu_1', 'renwu.renwu_2', 'renwu.renwu_3'])

 

renwu_1.py

from celery_task.celery import app


@app.task
def test_1():
print('test_1~~~')
return 'ok1'
...
...



add_task_new.py
from renwu.renwu_1 import test_1
from renwu.renwu_2 import test_2
from renwu.renwu_3 import test_3

res1 = test_1.delay()
res2 = test_2.delay()
res3 = test_3.delay()
print(res1)
print(res2)
print(res3)

命令
celery -A celery_task worker -l info


查询执行状态
from celery.result import AsyncResult

if __name__ == '__main__':
id = '5d0ffe03-f545-4504-91a2-abc42a5368eb'
result = AsyncResult(id=id, app=app)
print(result)
if result.successful():
result=result.get()
print(result)
elif result.failed():
print('任务失败')
elif result.status == 'PENDING':
print('任务等待被执行')
elif result.status == 'RETRY':
print('任务异常后正在重试')
elif result.status == 'STARTED':
print('任务已经开始被执行')




 

posted @   Jude~  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
点击右上角即可分享
微信分享提示