2013-01-03 35 views

Trả lời

21

Bạn có thể sử dụng celery.control.inspect để kiểm tra người lao động chạy:

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

đẹp nhất, với điều này tôi có thể xây dựng một API REST hỏi xem người lao động là lên hoặc nếu họ đã bị rơi và thông báo cho người dùng – psychok7

+0

https://github.com/psychok7/django- kiểm tra cần tây – psychok7

7

Câu trả lời ngắn:

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

Nói chung rằng stats() từ điển cung cấp rất nhiều thông tin. Dưới đây là một giá trị ví dụ:

{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}}, 
Các vấn đề liên quan