Abtropfer

Ereignisbasierte Ablassen der Prozessausgabe
Jetzt downloaden

Abtropfer Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • BSD License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Vincent Driessen
  • Website des Verlags:
  • http://datafox.nl

Abtropfer Stichworte


Abtropfer Beschreibung

Ereignisbasierte Entleerung der Prozessleistung Abtrows ist eine Abstraktion um Subprocess.Popen, um den Prozess der Prozessausgabe zu lesen und zu kontrollieren Controller-Wrapper um Subprocess.Popen und nimmt daher alle (optionalen) Parameter an, die Subprocess.Popen-Initialisierer dauert. Zum Beispiel nimmt der minimale Abtropfer ein Befehlsarray an: Von Abtrops Importieren von DrainerDef Ignore_Event (Zeile, IS_ERR): passmy_drainer = Abtropheer (, read_event_cb = ignore_event) my_drainer.start (), aber zusätzliche Argumente sind auch zulässig: my_dainer = abtrower (, shell = true, bufsize = 64, read_event_cb = ignore_event) my_drainer.start () Die einzigen beiden Argumente für den Ablauf, die reserviert sind, sind stdout und stderr . Abtropfer erfordert, dass sie explizit sein, subprozess.pipe, und setzt sie entsprechend für Sie. Wenn eine CallbackDrainer-Festigkeit liegt. Auf diese Weise können Sie praktisch jeder Prozessausgabe verarbeiten, solange es linienbasiert ist. Die Callback-Funktion kann mit dem Parameter Read_Event_CB an den Konstruktor angegeben werden, wie in dem obigen Beispiel zu sehen. Es zwingend erforderlich ist. Die angegebene Callback-Funktion muss eine bestimmte Unterschrift aufweisen: def my_callback (linie, is_err): ... Es sollte zwei Parameter dauern: Zeile (eine Zeichenfolge) und Is_ERR (A Boolean). Letzteres zeigt an, dass die Zeile aus dem Standardfehlerstrom gelesen wird. Es gibt nichts mehr. Es muss nichts zurückgeben: Es wird der Rücklaufwert ignoriert. Ihr Callback kann auch in dem folgenden Beispiel eine Klassenmethode sein. Beachten Sie, dass Sie in diesen Fällen foo.my_method als Wert für den Parameter Read_Event_CB angeben: Klasse MyClass (Objekt): Def My_Method (Self, Line, IS_ERR): ... foo = myClass () my_drainer = Abtrows (, read_event_cb = foo.my_method) my_drainer.start () Die Granularität ist derzeit eine einzige Linie. Wenn Sie vordefinierte Datenstücke lesen möchten, forkieren Sie dieses Repo und implementieren Sie eine Abtropfunterklasse selbst. Wenn Sie einen Rückruf wünschen, der nach jeder Lektüre nicht aufgerufen wird, aber nach einer beliebigen Zeit oder Menge an Zeilen müssen Sie dies selbst umsetzen. (Es sollte jedoch nicht zu hart sein. Siehe das Beispielverzeichnis für Inspiration.) Abbruch von ProzessenDrainer ermöglicht es Ihnen, einen laufenden Prozess in der Mitte der Ausführung abzubrechen, wodurch der Prozess eine terminierte ()-Nachricht (Python-Äquivalent eines UNIX-Sigterms kraftvoll gesendet wird Nachricht) Wenn ein bestimmter Zustand ergibt. Standardmäßig wird der Prozess niemals ungewöhnlich gekündigt. Um Kündigungskriterien anzugeben, implementieren Sie eine Callback-Funktion, die keine Parameter anzieht, und ergibt TRUE, wenn die Abtreibung gewünscht und ansonsten falsch ist. Zum Beispiel möchten Sie beispielsweise für einen langen Laufprozess es kündigen, wenn die Festplatte (fast) voll ist. Überprüfen, wie viel Platz frei ist, kann ein langwieriger Betrieb sein, sodass Sie dies nur sparsam tun möchten: def out_of_diskspace (): linde = handytools.check_disk_free () total = handytools.check_disk_total () Zurück (links / insgesamt) <0.03 # Der folgende Abtrower führt den Cruncher aus und prüft, ob die Festplatte (fast) alle 5 Sekunden lang (fast) voll ist. Es bricht ab, wenn freie Speicherplatz # unter 3% .my_drainer = Abtrower (, read_event_cb = ignore_diskspace, show_interval = 5.0) exitcode = my_drainer.start () Das Beispiel ist ziemlich selbstklärend. Sie können den ExitCode überprüfen, um das Ergebnis des Prozesses anzuzeigen. Anforderungen: · Python


Abtropfer Zugehörige Software

Facebook-Python-SDK

Eine Clientbibliothek, die zur Unterstützung der Facebook-Grafik-API und dem offiziellen Facebook JavaScript SDK unterstützt wurde ...

222

Herunterladen