celery 如何通过 task_id 查询任务的执行日志
資深大佬 : Alexf4 12
最近在使用 celery 做任务队列,用 flower 已经可以满足查看某个任务的执行状态,参数,时间等等。
后面想着定制需求:通过一个 task_id 实时查看执行的情况(类似任务执行里面的 print, logger 等),各位大佬们有没有建议?
目前自己的大概的想法:
- 在每个
worker的执行日志里面操作,做近实时的收集( collectd, fluentd, filebeat 等),然后根据task_id在日志的仓库( clickhouse, es )做查询。这个日志搜索会有一定的延迟性 - 每个 task 配置一个单独的日志文件, 然后在进行查询时候, 利用 websocket 连接服务器(此时服务器找到对应的文件,
tail -f)。
大佬有話說 (2)