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 @ 2025-02-24 14:18  Jude~  阅读(7)  评论(0)    收藏  举报