2013-01-03 24 views

回答

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}}, 
相關問題