2013-01-03 35 views
12

पायथन कोड का उपयोग करके प्रोग्रामेटिक रूप से मैं कैसे कर सकता हूं, वर्तमान श्रमिकों और उनके संबंधित celery.worker.consumer.Consumer उदाहरणों को सूचीबद्ध कर सकता हूं?सेलेरी - प्रोग्रामेटिक रूप से श्रमिकों की सूची

उत्तर

21

आप celery.control.inspect उपयोग कर सकते हैं चल रहा श्रमिकों का निरीक्षण करने की जांच कर सकते हैं:

>>> import celery 
>>> celery.current_app.control.inspect().ping() 
{u'[email protected]': {u'ok': u'pong'}} 
+0

अच्छा एक है, इस के साथ मैं एक REST API पूछेगा कि क्या श्रमिकों ऊपर या अगर वे दुर्घटनाग्रस्त हो गया निर्माण और उपयोगकर्ता – psychok7

+0

https://github.com/psychok7/django- सूचित कर सकते हैं अजवाइन-निरीक्षण – psychok7

7

लघु जवाब:

your_celery_app.control.inspect().stats().keys()

सामान्य में है कि stats() शब्दकोश बहुत सारी जानकारी देता है। यहाँ एक उदाहरण मूल्य है:

{u'broker': {u'alternates': [], 
      u'connect_timeout': 4, 
      u'heartbeat': 0, 
      u'hostname': u'mypcisdabom', 
      u'insist': False, 
      u'login_method': u'AMQPLAIN', 
      u'port': 5672, 
      u'ssl': False, 
      u'transport': u'amqp', 
      u'transport_options': {}, 
      u'uri_prefix': None, 
      u'userid': u'celeryabuser', 
      u'virtual_host': u'celeryvhost'}, 
u'clock': u'182309', 
u'pid': 1660, 
u'pool': {u'max-concurrency': 1, 
      u'max-tasks-per-child': u'N/A', 
      u'processes': [2496], 
      u'put-guarded-by-semaphore': True, 
      u'timeouts': [0, 0], 
      u'writes': u'N/A'}, 
u'prefetch_count': 4, 
u'rusage': u'N/A', 
u'total': {u'mymodule.my_func': 8}},