芹菜任务状态仅为"待处理"和"成功"。为什么任务状态没有"STARTED"?



我正在做一个演示,代码很简单:

# tasks.py
import time
from celery import Celery
app = Celery('tasks',
broker='redis://:5tgb^YHN7ujm*IK<@localhost:6379/0',
backend='redis://:5tgb^YHN7ujm*IK<@localhost:6379/0'
)

@app.task
def test_task(s):
time.sleep(300)
return s

然后启动辅助角色

celery -A celery_test.app  worker -n kalidog -c 2 -l debug -E
-------------- celery@kalidog v4.3.0 (rhubarb)
---- **** ----- 
--- * ***  * -- Linux-4.9.0-8-amd64-x86_64-with-debian-9.8 2019-10-11 02:36:12
-- * - **** --- 
- ** ---------- [config]
- ** ---------- .> app:         tasks:0x7f17bf92e128
- ** ---------- .> transport:   redis://:**@localhost:6379/0
- ** ---------- .> results:     redis://:**@localhost:6379/0
- *** --- * --- .> concurrency: 2 (prefork)
-- ******* ---- .> task events: ON
--- ***** ----- 
-------------- [queues]
.> celery           exchange=celery(direct) key=celery          

然后计划任务:

>>>from celery_test import test_task
>>>result = test_task.apply_async((11,)) 
>>>result.status
'PENDING'
>>>result.state
'PENDING'
>>>result.state
'PENDING'
>>>result.state
'SUCCESS'

为什么任务状态中没有"已启动"?我检查了 redis。在任务完成之前,Redis 中当前任务没有诸如"芹菜-任务-元-XXX"之类的键

默认情况下不启用该功能。更多关于它的信息在这里: https://docs.celeryproject.org/en/latest/userguide/tasks.html#started

最新更新