celery異步任務(wù)第二彈
--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'
# 所有的任務(wù)添加至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
查詢(xún)執(zhí)行狀態(tài)
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('任務(wù)失敗')
elif result.status == 'PENDING':
print('任務(wù)等待被執(zhí)行')
elif result.status == 'RETRY':
print('任務(wù)異常后正在重試')
elif result.status == 'STARTED':
print('任務(wù)已經(jīng)開(kāi)始被執(zhí)行')

浙公網(wǎng)安備 33010602011771號(hào)