我正在尝试获取 Celery 中特定任务开始的时间戳。这可能吗?我在下面尝试过但无法让它工作。我使用 Celery 3.0.19 和 mongodb 作为 Flask 中的代理。
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'}
最佳答案
任务在被工作人员使用之前可以通过“任务发送”事件进行跟踪。只需附加到您的 celery 配置即可:
CELERY_SEND_TASK_SENT_EVENT = True
Celerymon 或 celery 花应显示带有时间戳的“任务发送”事件。
关于python - 是否可以跟踪 celery 任务的开始时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16733316/