是否可以跟踪芹菜任务的开始时间?

时间:2013-05-24 10:52:44

标签: python flask celery

我正在尝试获取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'}

1 个答案:

答案 0 :(得分:2)

可以在工作人员使用“任务发送”事件之前跟踪任务。只需附加到您的芹菜配置:

CELERY_SEND_TASK_SENT_EVENT = True

Celerymon或芹菜花应该显示带有时间戳的'任务发送'事件。