Finde heraus, ob Sellerie verfügbar ist / läuft

Ich bin mit Sellerie asynchrone Aufgaben zu verwalten. Gelegentlich ist jedoch die Sellerie-Prozess geht nach unten, die bewirkt, dass keine der Aufgaben ausgeführt werden. Ich möchte in der Lage sein zu überprüfen, den status von Sellerie und stellen Sie sicher, alles ist in Ordnung, und wenn ich erkennen, keine Probleme mit der Bildschirmanzeige eine Fehlermeldung an den Benutzer. Aus dem Sellerie Arbeiter Dokumentation es sieht aus wie ich möglicherweise in der Lage sein zu verwenden ping oder inspizieren für diese, aber ping fühlt sich hacky und es ist nicht klar, wie genau inspizieren verwendet werden soll (wenn inspect().eingetragene() ist leer?).

Alle Informationen zu diesem würde geschätzt. Im Grunde, was ich Suche, ist eine Methode, etwa so:

def celery_is_alive():
    from celery.task.control import inspect
    return bool(inspect().registered()) # is this right??

EDIT: Es sieht nicht einmal wie registriert() zur Verfügung, die auf Sellerie 2.3.3 (obwohl der 2.1-docs Liste). Vielleicht ping ist die richtige Antwort.

EDIT: Ping ist auch nicht angezeigt, das zu tun, was ich dachte, es tun würde, so ist noch nicht sicher sind, hier die Antwort.

Kommentar zu dem Problem
Hab die Antwort unten nicht für Sie arbeiten? Als jemand, der ein ähnliches problem zu lösen, würde ich gerne eine Bestätigung. Kommentarautor: kojiro

InformationsquelleAutor der Frage Cory | 2011-12-14

Schreibe einen Kommentar