Ich habe die folgenden Voraussetzungen für ein Remote-Prozessausführungs- / -verwaltungssystem und dachte, ich würde fragen, ob jemand etwas Ähnliches unter den Bedingungen freier Software / Open Source-Lizenzen gesehen hätte, bevor ich es selbst schreibe:
Läuft unter Linux.
Für jeden Computer in einem Cluster muss ein lokaler Ausführungs- / Verwaltungsdämon als Systemdienst ausgeführt werden, der Folgendes ausführen kann:
1. Pflegen Sie eine TCP-Verbindung mit einer Clientanwendung (vom Client initiiert).
2. Starten Sie einen untergeordneten Prozess mit ausführbarem Pfad, Befehlszeilenargumenten, Prozessumgebung und stdout / stderr-Umleitung zu Dateien als Antwort auf einen vom Client empfangenen Befehl.
3. Beenden Sie einen untergeordneten Prozess als Reaktion auf einen vom Client erhaltenen Befehl.
4. Melden Sie den Abschluss des untergeordneten Prozesses asynchron an alle verbundenen Clients.
5. Berichten Sie untergeordnete Prozessstatistiken (CPU, E / A usw.) asynchron an alle verbundenen Clients (Dies ist eine optionale Funktion).
Grundsätzlich habe ich eine Umgebung, in der langwierige Prozesse mit Batchprozessen gemischt werden müssen, die von einem oder mehreren Master-Servern gesteuert werden, die den aktuellen globalen Status, die Konfiguration verwalteter Prozesse (laufen oder nicht) und den aktuellen Stand halten Last balanciert neue Prozesse. Die asynchrone Berichterstattung über den Abbruch von untergeordneten Prozessen ohne Abfrage ist wichtig, daher ist ssh nicht geeignet. Der Master-Server wird einigermaßen angepasst sein, aber ich hoffe, einen Dämon zu finden, der die Aktivitäten auf einem einzelnen Rechner verwaltet.
quelle