我试图了解pool::writes::avg
显示的芹菜统计数据。来自writes
的芹菜文档:
特定于预分叉池,这显示了使用异步 I/O 时对池中每个进程的写入分布。
我的理解是,all
是给定流程完成的总任务的百分比,raw
是给定流程完成的任务计数。但是avg
告诉我什么呢?
我的celery -A proj inspect stats
子集是:
"pool": {
"max-concurrency": 2,
"max-tasks-per-child": "N/A",
"processes": [
23743,
23744
],
"put-guarded-by-semaphore": false,
"timeouts": [
0,
0
],
"writes": {
"all": "58.06%, 41.94%",
"avg": "48.39%",
"inqueues": {
"active": 0,
"total": 2
},
"raw": "18, 13",
"strategy": "fair",
"total": 31
}
},
如您所知,"pool.writes"统计信息特定于预分叉池,这显示了使用异步I/O时对池中每个进程的写入分布(来自Celery文档(
从箱/工作人员.py:
'avg': per(total / len(self.write_stats) if total else 0, total),
write_stats
似乎是一个集合。计数器跟踪池中的进程。per(v, total( 是一个函数,它返回一个字符串,其中包含百分比形式的v/total
。 我希望了解芹菜内部的人提供有关此的更多详细信息。