2013-01-03 29 views

Odpowiedz

21

Można użyć celery.control.inspect aby skontrolować uruchomione robotników:

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

ładny jeden, z tym mogę zbudować API REST, która pyta, czy pracownicy są do góry lub gdy uszkodzony i powiadamia użytkownika – psychok7

+0

https://github.com/psychok7/django- seler-inspect – psychok7

7

Krótka odpowiedź:

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

Ogólnie że stats() słownik daje dużo informacji. Oto przykład wartość:

{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}},