python - 是否可以跟踪 celery 任务的开始时间?

标签 python flask celery

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

相关文章:

python - 从过滤器返回第一个元素或无

amazon-s3 - Celery 与 Amazon SQS 和 S3 事件

python - 使用 txredisapi 建立连接后订阅和取消订阅 channel

python - 绘制简单的形状并保存到文件 (pdf)

mongodb - MongoDB中通过ObjectId而不是image_name获取图像

python - 使用 SQLAlchemy 将行从一个表批量移动到另一个表

python - AsyncResult(task_id) 即使在任务开始后也返回 "PENDING"状态

python - 如何在确保 celery 公平性的请求之间交替?

python - 如何使paramiko-expect中的tail函数超时?

python - (Flask API),使firebase上传的图像具有唯一的名称