我正在尝试获取Celery中特定任务开始的时间戳。这可能吗?我在下面试过,但无法让它工作。我正在使用Celery 3.0.19和mongodb作为烧瓶中的经纪人。
class GenericTask(Task):
abstract = True
startTime = unicode(datetime.datetime.now())
@celery.task(name="tasks.create_provider", base=GenericTask)
def create_provider(name):
with app.test_request_context():
Provider.create(name=name)
然后...... ..
async = create_provider.apply_async((name,), startTime=unicode(datetime.datetime.now()))
task = {'id': async.task_id,
'operation': 'operation',
'status': async.status,
'startTime': async.startTime,
'expiryTime': 'expiryTime'}
答案 0 :(得分:2)
可以在工作人员使用“任务发送”事件之前跟踪任务。只需附加到您的芹菜配置:
CELERY_SEND_TASK_SENT_EVENT = True
Celerymon或芹菜花应该显示带有时间戳的'任务发送'事件。