【发布时间】:2017-06-23 13:25:25
【问题描述】:
我有一个使用 Flask 用 Python 编写的小型 web 应用程序。我拥有的一些端点需要很长的执行时间(~60 s +)。解决方案是立即返回任务 ID,同时在后台启动 Celery 任务。
一切正常。我已将 Celery 的日志记录重定向到一个文件,并且效果很好。任务返回的结果是一个巨大的数据结构,稍后将被处理并可能返回给最终用户。但是,我对结果的记录有一个小问题。当 celery 完成一项任务时,它也会记录它的结果。在我的例子中,前面提到的,巨大的数据结构。这使得日志文件更难阅读并且变得不必要地大。
是否可以只记录任务完成、状态和所用时间?
类似这样的:
[2017-02-06 15:12:01,286: INFO/PoolWorker-6] Task <task_name> succeeded in 60s
不是这样的:
[2017-02-06 15:12:01,286: INFO/PoolWorker-6] Task <task_name> succeeded in 60s <very long string, potentially thousands of rows>
【问题讨论】:
标签: python logging celery celery-task