我有celery==3.1.16和Python 2.7,它有一些任務,其代理是Redis。 它在開始的時候性能很好,但過了一會兒就凍結了。 我檢查了容器中的TCP連接,我看到了這個:
tcp 1 0 WORKER:34472 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39884 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57292 REDIS_HOST:6379 CLOSE_WAIT
tcp 0 0 WORKER:60030 REDIS_HOST:6379 ESTABLISHED
tcp 1 0 Worker:39906 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57102 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 Worker:34508 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39874 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57182 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57106 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39870 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57056 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39902 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:34494 REDIS_HOST:6379 CLOSE_WAIT
tcp 0 0 WORKER:40878 REDIS_HOST:6379 ESTABLISHED
tcp 1 0 Worker:39878 REDIS_HOST:6379 CLOSE_WAIT
tcp 0 0 WORKER:53138 REDIS_HOST:6379 ESTABLISHED
tcp 1 0 Worker:43818 REDIS_HOST:6379 CLOSE_WAIT
tcp 0 0 WORKER:39876 REDIS_HOST:6379 ESTABLISHED
tcp 1 0 Worker:50586 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:59800 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57128 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57238 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57346 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 Worker:57050 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39896 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 Worker:44850 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57124 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:39904 REDIS_HOST:6379 CLOSE_WAIT
tcp 0 0 WORKER:39872 REDIS_HOST:6379 ESTABLISHED
tcp 1 0 Worker:57160 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57190 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:59724 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:57260 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:34492 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 WORKER:59740 REDIS_HOST:6379 CLOSE_WAIT
tcp 1 0 Worker:55426 REDIS_HOST:6379 CLOSE_WAIT
我認為celery worker沒有檢測到關閉的連接來重新建立它們,我必須定期重置worker pod才能再次作業。
有什么想法嗎?
uj5u.com熱心網友回復:
我用solo pool-size模式運行celery,并使用多個Kubernetes pod而不是一個pod,因為solo模式是單執行緒的,所以問題就解決了。
https://docs.celeryproject.org/en/stable/internals/reference/celery.concurrency.solo.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/309337.html
標籤:
下一篇:為物件分配類別的問題
