ब्रोकर-अज्ञेयवादी सेलेरी का उपयोग करके आप कतार में संदेशों की संख्या कैसे प्राप्त कर सकते हैं।
connection_or_acquire
. का उपयोग करके , आप सेलेरी के आंतरिक कनेक्शन पूलिंग का उपयोग करके अपने ब्रोकर के लिए खुले कनेक्शन की संख्या को कम कर सकते हैं।
celery = Celery(app)
with celery.connection_or_acquire() as conn:
conn.default_channel.queue_declare(
queue='my-queue', passive=True).message_count
यह कार्यक्षमता प्रदान करने के लिए आप अजवाइन का विस्तार भी कर सकते हैं:
from celery import Celery as _Celery
class Celery(_Celery)
def get_message_count(self, queue):
'''
Raises: amqp.exceptions.NotFound: if queue does not exist
'''
with self.connection_or_acquire() as conn:
return conn.default_channel.queue_declare(
queue=queue, passive=True).message_count
celery = Celery(app)
num_messages = celery.get_message_count('my-queue')