瀏覽代碼

Only change QOS(prefetch_count) if it has changed

Ask Solem 15 年之前
父節點
當前提交
2d007031d8
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      celery/worker/__init__.py

+ 4 - 1
celery/worker/__init__.py

@@ -83,8 +83,11 @@ class CarrotListener(object):
 
         self.logger.debug("CarrotListener: Ready to accept tasks!")
 
+        prev_pcount = None
         while True:
-            self.task_consumer.qos(prefetch_count=int(self.prefetch_count))
+            if not prev_pcount or int(self.prefetch_count) != prev_pcount:
+                self.task_consumer.qos(prefetch_count=int(self.prefetch_count))
+                prev_pcount = int(self.prefetch_count)
             it.next()
 
     def stop(self):