首页 > 解决方案 > 如何禁用芹菜任务结果记录?

问题描述

我有工作的 Celery 3.1 应用程序,它记录了一些敏感信息。理想情况下,我会拥有相同的日志,但没有结果部分。

目前它看起来像:

worker_1 | [2019-12-10 13:46:40,052: INFO/MainProcess] Task xxxxx succeeded in 13.19569299298746s: yyyyyyy

我想拥有:

worker_1 | [2019-12-10 13:46:40,052: INFO/MainProcess] Task xxxxx succeeded in 13.19569299298746s

怎么做?

编辑:这似乎可以完成这项工作:https ://docs.celeryproject.org/en/3.1/reference/celery.worker.job.html#celery.worker.job.Request.success_msg但我不知道如何实际使用它。

标签: celerydjango-celerycelery-task

解决方案


以防它在不久的将来对任何人有用,我在 Celery 4.4success_msg中发现 Request 类中的已移至应用程序跟踪器

幸运的是,这似乎可以在您的 Django 应用程序中轻松覆盖,celery.py如下所示:

from celery.app import trace

trace.LOG_SUCCESS = """\
Task %(name)s[%(id)s] succeeded in %(runtime)ss\
"""

当然,您可以将其更改为您喜欢的任何内容,这只是删除了返回值部分。完整的上下文在这里


推荐阅读