Work.

Python-Task-Warteschlange
Jetzt downloaden

Work. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Other/Proprietary Li...
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Daniel Miller
  • Website des Verlags:
  • http://www.openpolitics.com/pieces

Work. Stichworte


Work. Beschreibung

Worq ist eine Task-Warteschlange Python-Bibliothek. Es gibt zwei Hauptkomponenten, die zusammenarbeiten: - TaskQueue-WorkerPoolworq-Schiffe mit mehr als einer Implementierung jeder dieser Komponenten.- wormq.queue.memory.taskQueue - ein In-Memory (Prozess lokal) Task-Warteschlange.- Worq.Queue. redis.taskQueue - Eine redis-sichtechnische Task-Warteschlange, die auf mehrere Server skaliert wird Komponenten können gemischt und abgestimmt sein, um verschiedene Bedürfnisse zu erfüllen. Ein Beispiel mit Redis und einem Multi-Process-Arbeiter Poolcreate Die folgenden Dateien. BasicConfig (Level = logging.debug) Broker = Get_Broker (URL) Broker.Exware (TS) RETURN broker@ts.taskdef Num (Wert): Rendite int(Value)@ts.taskDef hinzufügen (Werte): Rücksendungssumme (Werte) pool.py:0:5.com/bin/env pythonimport sysfrom work.pool.process Import weicherPool- Aufgaben Importieren initdef Main (URL): Broker = INIT (URL) Pool = Arbeit ERPOOL (Broker, Init, Arbeiter = 2) Pool.Start () Wenn __NAME__ == '__main__': main (sys.argv ) main.py: #! / usr / bin / env pythonimport sysimport loggingvon Worq Import Get_QUEDEF MAIN (URL): logging.basicconfig (Level = logging.debug) q = Get_Queue (URL) # ENQUIRUE-Tasks, die in parallel ausgeführt werden sollen = # Bearbeiten Sie die Ergebnisse, wenn sie einsatzbereit sind = q.tasks.add (num) # warten auf das Endergebnis Ergebnis.Wait (Timeout = 30) drucken ('0 + 1 + ... + 9 = {{}'. Format ( Ergebnis.Value)) Wenn __NAME__ == '__main__': main (sys.argv ) Stellen Sie sicher, dass Redis Verbindungen am Port 6379 akzeptiert. Es wird empfohlen, aber nicht erforderlich, dass Sie einen VirtuenV-Setup einrichten. Dann in einem Terminalfenster: PIP installieren "WORQ " Python Pool.py Redis: // localhost: 6379 / 0und in einem zweiten Terminalfenster: Python Main.py Redis: // localhost: 6379 / 0see Beispiele Für mehr Dinge, die mit WORQ.DOWNODAY erfolgen können. Laden Sie es auf Github an: https://github.com/millerdev/worq/Running Die Testwork-Entwicklung ist meistens mit TDD. Tests sind wichtig, um zu überprüfen, ob der neue Code funktioniert. Möglicherweise möchten Sie die Tests ausführen, wenn Sie zu WORQ beitragen oder einfach nur hacken möchten. Richten Sie einen VirtualenV ein und führen Sie diese Befehle aus, in denen Sie den Worq-Quellcode ausgecheckt haben: PIP-Installieren der Nase NoSetestHhe Tests für einige Komponenten (z. B. Redis TaskQueue) sind deaktiviert, es sei denn, die erforderlichen Anforderungen sind verfügbar. Standardmäßig suchen die Tests nach Redis bei Redis: // localhost: 16379/0 (Note Nicht-Standard-Port; Sie können diese URL mit der Umgebungsvariablen Worq_Test_Redis_URL anpassen). PRODUCT's Homepage


Work. Zugehörige Software