2016-03-28 36 views
5

işçi durumlarını görmek ve ben işçi ve onların durumunun mevcut sayısını gösteren basit bir durum sayfası oluşturmak istiyorum nasıl.Kereviz/Django - programlama sadece kereviz yüklü

Bu mümkün mü? Web'den buldum iyi

Ama bildiğim kadarıyla gördüğünüz gibi, işçilere konusundan hiç söz etmez celery.current_app.control.inspect() oldu arar. (Bu sorun varsa, arka uç için SQS ile Kombu kullanıyorum)

+0

Neden https://github.com/mher/flower? Resmi Kereviz doktorları bile bunu önermektedir (http://docs.celeryproject.org/en/latest/userguide/monitoring.html?highlight=flower#flower-real-time-celery-web-monitor). –

+0

Çiçek güzel gözüküyor, ama benim porpoises için bunu bir iç sistem sağlık kontrolüne takmam gerekiyor. Bu yüzden programlı olarak yapmalıyım. – Greg

+1

Ardından çiçeği uzatmanız gerekir. – TheGreenGoblen

cevap

7

the documentation of celery workers'da inspect komutlarının çıkışı açıklanmıştır. celery.current_app.control.inspect() döner tüm çalışan işçilerin devlet istiyor sağlayan bir "müfettiş nesne" seçeneğini kullanarak Varsayılan olarak

.

i = celery.current_app.control.inspect() 
    i.registered() 

gibi bir şey geri dönebilirler i.registered() çağrısı: Sonuç olarak

{ 
     '[email protected]': ['tasks.add'], 
     '[email protected]': ['tasks.sleeptask'], 
    } 

, "müfettiş" Örneğin iki çalışan 'engerek' ve 'uyuyan' adlı işçiler ile bu kodu çalıştırmak eğer vb yöntemler registered, active, scheduled, celery.current_app.control.inspect() çağrıldığında seçilen işçiler tarafından sınıflandırılmış sonuçlarla bir sözlük dönmek (hiçbir işçi argüman olarak geçirilen eğer, bütün işçiler örtülü seçilir).

+0

Bu umut verici görünüyor. Yine de garip bir SQS kimlik doğrulama hatası aldığımda. Uygulamam ve işçilerim iyi bağlantı kurabiliyor olsa da. Belki bu çağrı SQS kuyruğunda ekstra izin gerektirir? – Greg

+0

İşte bu hata: SQSError: SQSError: 403 Yasak GönderenAccessDenied https://queue.amazonaws.com/ kaynağına erişim reddedildi. 37b59c-ee-aa5c-faeb0ecba29f Greg

+0

O henüz desteklenmiyor olabilir gibi görünüyor: ([SQS henüz işçi uzaktan kumanda komutlarını desteklemez] http://docs.celeryproject.org/en /latest/getting-started/brokers/sqs.html#caveats). –