Drehmoment

Eine Warteschlange der Warteschlange auf Basis von Tornado und Redis
Jetzt downloaden

Drehmoment Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Public Domain
  • Preis:
  • FREE
  • Name des Herausgebers:
  • James Arthur
  • Website des Verlags:
  • http://github.com/thruflo/torque

Drehmoment Stichworte


Drehmoment Beschreibung

Eine Web-Haken-Task-Warteschlange basierend auf Tornado und Redis Drehmoment ist eine Webhaken-Task-Warteschlange, die auf Tornado und Redis basiert. Es soll ein ähnliches Muster an Google App Engine's TaskQueue bereitstellen. Um ein Drehmoment verwenden, müssen Sie eine RediS-Datenbank ausführen, ein Konsolenskript, ein Konsolenskript, das eine Tornado-Webanwendung und einen Prozess pro Task-Warteschlange aussetzt. Sie können dann Aufgaben zu einem oder mehreren Warteschlangen hinzufügen, entweder mithilfe der Python-Client-API, dass Drehmoment oder über eine HTTP-API (oder in der Tat, indem Sie sie direkt in die Datenbank hinzufügen). Tasks bestehen aus einer URL und einigen Paramenten. Wenn eine Task ausgeführt wird, postet Drehmoment die Parameter an die URL. Wenn die Taskfehler steil abnimmt, bis er zu oft fehlert, in welchem Punkt, an dem es gelöscht wird. Tasks werden in einem redis sortiersatz gespeichert. Tornado wird verwendet, um Aufgaben asyndronisch auszuführen, ohne zu blockieren.install: Installieren Sie die Abhängigkeiten von Redis und Tornado. (N.B.: Siehe ./etc/redis.tiger.patch Wenn Sie wie ich immer noch OSX Tiger verwenden). Dann installieren Sie das Drehmomentei: Python Setup.py installrun: Run Redis: ./ redis-dienststoff Die Tornado-Anwendung: Konsolenskripts für eine Liste der Konfigurationsoptionen. Um beispielsweise eine zweite Warteschlange mit dem Namen Foobar auszuführen, verwenden Sie möglicherweise: An den WebHook möchten Sie, dass die Aufgabe anfragt * Params, ein JSON-Coded-Wörterbuch der Parameter, die Sie an den WebHook veröffentlichen möchten : import jsonimport urllibmytask = {'url': 'http://mywebservice.com/hooks/do/foo', 'params': json.dumps ({'foo', 'somevalue', 'baz': 99}) } target_url = 'http: // localhost: 8889 / haken / add'urllib.urlopen (target_url, urllib.urlencode (mytask)) Diese Warteschlange ist ein Postantrag auf http://mywebservice.com/hooks/do/foo mit dem Parameter foo = SomeValue und Baz = 99 So bald wie möglich gemacht werden. Sie können mit jeder Programmiersprache etwas Ähnliches tun, das URL-Anfragen erstellen kann. Wenn Sie jedoch Python verwenden, können Sie die Client-API verwenden, die das Drehmoment bietet: von Torque.Client Import add_taskadd_task (URL = 'http: //mywebservice.com/hooks/do/foo', params = {'a': 1}) Beachten Sie, dass dies keine JSON-Codierung der Parameter erfordert. Sie können eine Verzögerung für die Aufgabe angeben, sodass er nach (aber nicht unbedingt at) eine Anzahl von Sekunden ausgeführt wird: add_task (url = '...', params = {...}, delay = 20) # wird ausgeführt Nach 20 Sekundenkindlichen Aufgaben BACKOFF Exponential, wenn sie fehlerhaft sind, bis zu einer maximalen Backoff-Verzögerung, die als --max_task_delay konfigurierbar ist, bis sie error --max_task_Errors-Zeiten (an diesem Punkt werden sie gelöscht werden) .See den Quellcode für weitere Informationen und Optionen oder nur Führen Sie es aus und verwenden Sie es. Anforderungen: · Python


Drehmoment Zugehörige Software