Paxdaemonica.

Arbeiter- und Anwendungsserver für Python
Jetzt downloaden

Paxdaemonica. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • MIT/X Consortium Lic...
  • Name des Herausgebers:
  • Jeffrey Jenkins
  • Website des Verlags:
  • http://qcircles.net

Paxdaemonica. Stichworte


Paxdaemonica. Beschreibung

Arbeiter- und Anwendungsserver für Python Paxdaemonica ist ein Modul, um ein System zum Ausführen von Anwendungen mit einheitlicher Protokollierung und -überwachung, einem extrem einfachen Bereitstellungs- und Upgrade-Prozess, RPC / Remote-asynchronen Ausführung zu sein. Diese Readme wird versuchen, das Dokument zu dokumentieren, was derzeit implementiert ist. Ich schreibe Blog-Beiträge über zukünftige Pläne und einen Link mit ihnen in den entsprechenden Abschnitten, so dass es keine Verwirrung darüber gibt, was es richtig macht. Er ist versucht, die Anzahl der externen Anforderungen zu minimieren. Nach rechtlich benötigen Sie einen RediS-Server, der auf demselben Computer läuft, und die Python Redis-Bibliothek (https://github.com/andymccurdy/redis-py) . Dies startet den Server, den Controller-Prozess und eine Benutzeroberfläche in Port 8000. Der Webserver der Benutzeroberfläche ist eigentlich ein dünner Wrapper um eine PAXD-Anwendung, die Sie in PAXD / WEBUIAPP / webui.py finden. Der Server verfügt außerdem über eine Pseudo-App für den Controller, die die verschiedenen Befehle abgibt Die einzigartige ID ist nur wichtig, wenn mehrere Instanzen von PAXD-Lesen aus derselben Warteschlange vorhanden sind. Es wird verwendet, um "aktiven" Aufgaben in der "fehlgeschlagenen" Aufgabenliste beim Laden einer Anwendung (seit der Anwendungsanleitung keine aktiven Aufgaben zu verschieben Der Server war unvollständig, wenn der Server heruntergefahren ist) .Applicationa PAXD-Anwendung ist auf seiner einfachsten, nur eine Python-Funktion. Um jedoch etwas mehr zu laden, ist jedoch etwas mehr erforderlich. Eine Anwendung verfügt über mehrere Schlüsselattribute, die erforderlich sind, um ihn zu laden: Es erwartet, dass dies true ist: Entry.rPartition ('.') == (Modul, '.', Funktion) - Warteschlange - (optional) Hier erhalten Sie die Anwendung. Wenn keine Warteschlange vorhanden ist, werden alle Prozesse ständig ihre Befehle ausführen. Es gibt andere Attribute auf den Anwendungsobjekten, aber dies sind die einzigen, die für jetzt eingestellt werden können. Wenn eine Anwendung geladen wird, ist eine zufällige ID zugewiesen. Mehrere Instanzen derselben Anwendung können auf dem Server ausgeführt werden. Super CommandSthe-Befehle, die auf dem Server verfügbar sind, sind: - Laden eines Antrags. /Belastung. Siehe Skripts / Load_task.py.- Pause einer Anwendung. / Pause? id = app_id- Verpöße eine Anwendung aus. / unpause ID = app_id- Entfernen Sie eine Anwendung. / Entfernen Das Attribut ist eine Funktion, die (wie in Sellerie) verwendet werden kann, um einen Befehl asynchron auszuführen. Es sendet eine eingeregte Nachricht an den Server und gibt ein Versprechenobjekt zurück, das verwendet werden kann, um das Ergebnis auf Wunsch abzurufen. Damit die Anträge, die tatsächlich verarbeitet werden können, muss ein Antrag auf die dekorierte Funktion geladen werden (siehe Skripts / Load_task.py.web-Uithe-Web-Ui, auf Port 8000 gestartet, ergibt eine Liste der laufenden Anwendungen und ermöglicht es ihnen, angehalten zu werden , nicht gebraucht und entfernt. Die Web-Benutzeroberfläche selbst kann nicht angehalten oder entfernt werden, da die API zur Überwachung / Steuerung des Servers deaktiviert werden würde. APIs sind gleich. Eine Anforderung erfordert eine RediS-Verbindung, den Namen einer Warteschlange und die Args / KWDs, mit der das Ziel aufgerufen werden soll. Jede Anforderung hat eine UUID, die die Warteschlange in Redis ist, in der die Antwort auf (diese Warteschlangen werden jeweils nur einen Artikel haben). Wenn eine Nachricht gesendet wird, wird sie der angegebenen Warteschlange in Redis hinzugefügt. Wenn ein kostenloser Prozessor im Anwendungspool vorliegt, wird er: - Verschieben Sie einen Artikel von der Warteschlange in die Warteschlange: anhängig von Transaktion, löschen Sie den Artikel aus der Warteschlange: anhängig und setzen Sie es in der Warteschlange: Activ E, ein Redis-Hash, mit einem Wert des Instanz-ID-Prozesses des Elements - in einer Transaktion, löschen Sie den Artikel aus der Warteschlange: Active und schreiben Sie die Antwort auf die Antwortwarteschlange der Anforderung.Die Sendemethode der Anforderung kehrt ein Versprechen zurück. Wenn .GET () auf dem Versprechen aufgerufen wird, gibt er entweder den Wert zurück oder erhöht eine Ausnahme (wenn ein Fehler aufgetreten ist). Anforderungen: · Python


Paxdaemonica. Zugehörige Software