Dies ist der Befehl pegasus-monitord, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann
PROGRAMM:
NAME/FUNKTION
pegasus-monitord – verfolgt den Workflow-Fortschritt und Mining-Informationen
ZUSAMMENFASSUNG
pegasus-monitord [--help|-Hilfe] [- ausführlich|-v]
[--anpassen|-a i] [--Vordergrund|-N]
[--no-dämon|-n] [--Job|-j jobstate.log Datei]
[--Protokoll|-l Logdatei] [--conf immobilien Datei]
[--no-rekursiv] [--no-database | --keine Ereignisse]
[--Wiederholung|-r] [--keine Benachrichtigungen]
[--notifications-max max_notifications]
[--notifications-timeout Timeout]
[--sim|-s Millischlaf] [--db-stats]
[--skip-stdout] [--Macht|-f]
[--Steckdose] [--output-dir | -o dir]
[- Ziel|-d PATH or URL] [--Codierung|-e bp | bson]
DAGMan Möglichkeiten für das Ausgangssignal: Datei
BESCHREIBUNG
Dieses Programm folgt einem Arbeitsablauf und analysiert die Ausgabe der dagman.out-Datei von DAGMAN. In
Zusätzlich zur Generierung der Datei jobstate.log, pegasus-monitord kann auch bei mir verwendet werden
Informationen aus der Workflow-DAG-Datei und den Übermittlungs- und Ausgabedateien der Jobs und beides
Füllen Sie eine Datenbank oder schreiben Sie eine NetLogger-Ereignisdatei mit diesen Informationen.
pegasus-monitord kann auch Benachrichtigungen durchführen, wenn der Fortschritt eines Workflows verfolgt wird
Echtzeit.
OPTIONAL
-h, --help
Druckt eine Nutzungszusammenfassung mit allen verfügbaren Befehlszeilenoptionen.
-v, - ausführlich
Legt die Protokollebene für fest pegasus-monitord. Wenn es weggelassen wird, ist es die Standardeinstellung Grad des wird auf eingestellt
WARNUNG. Wenn diese Option angegeben ist, wird die Protokollebene auf geändert INFOS. Wenn diese Option
wiederholt wird, wird die Protokollebene auf geändert DEBUGGEN.
Die Anmeldestufe in pegasus-monitord kann auch interaktiv angepasst werden, indem das gesendet wird
USR1 und USR2 Signale an den Prozess zum Inkrementieren bzw. Dekrementieren
die Protokollebene.
-a i, --anpassen i
Zum Anpassen von Zeitzonenunterschieden um i Sekunden, der Standardwert ist 0.
-N, --Vordergrund
Nicht dämonisieren pegasus-monitord, mach die Bewegungen so, als ob (Condor).
-n, --no-dämon
Nicht dämonisieren pegasus-monitord, lassen Sie es im Vordergrund (zum Debuggen).
-j jobstate.log Datei, --Job jobstate.log Datei
Alternativer Standort für die jobstate.log Datei. Standardmäßig wird a geschrieben jobstate.log
im Workflow-Verzeichnis. Ein absoluter Dateiname sollte nur verwendet werden, wenn der Workflow
verfügt über keine Unterworkflows, da jeder Unterworkflow seinen eigenen generiert
jobstate.log Datei. Wenn hiermit ein alternativer, nicht absoluter Dateiname angegeben wird
Option, pegasus-monitord erstellt in jedem Workflow (und Sub-Workflow) eine Datei.
Verzeichnis mit dem Dateinamen, den der Benutzer mit dieser Option angegeben hat. Wenn ein absolutes
Wenn der Dateiname angegeben wird und Unterworkflows gefunden werden, wird eine Warnmeldung ausgegeben
und pegasus-monitord verfolgt keine Unterworkflows.
--Protokoll Logdatei, --Logdatei Logdatei
Gibt eine Alternative an Logdatei anstelle von zu verwenden monitord.log Datei im Hauptverzeichnis
Workflow-Verzeichnis. Anders als die jobstate.log Datei oben, pegasus-monitord
erzeugt nur einen Logdatei pro Ausführung (und nicht eine pro Workflow und Sub-Workflow).
Spuren).
--conf Eigenschaftendatei
ist eine alternative Datei, die Eigenschaften im enthält Schlüssel=Wert Format und ermöglicht Benutzern
um ausgelesene Werte zu überschreiben braindump.txt Datei. Diese Option hat Vorrang vor
die in der angegebenen Eigenschaftendatei braindump.txt Datei. Bitte beachten Sie, dass diese
Eigenschaften gelten nicht nur für den Hauptworkflow, sondern auch für alle Unterworkflows
gefunden.
--no-rekursiv
Diese Option wird deaktiviert pegasus-monitord um automatisch allen Unterworkflows zu folgen
gefunden werden.
--keine Datenbank, --no-database, --keine Ereignisse
Schaltet die Generierung von Ereignissen aus (wenn diese Option angegeben ist, pegasus-monitord wird nur
Generieren Sie die Datei jobstate.log). Standardmäßig werden Informationen automatisch in a protokolliert
SQLite-Datenbank (siehe - Ziel Option unten für weitere Details). Diese Option hat Vorrang
Jeder Parameter, der durch gegeben wird - Ziel .
-r, --Wiederholung
Mit dieser Option können Sie die Ausgabe eines bereits abgeschlossenen Workflows wiedergeben. Es sollte
erst nach Abschluss des Workflows verwendet werden (nicht unbedingt erfolgreich). Wenn ein
jobstate.log Wird die Datei gefunden, wird sie gedreht. Bei Verwendung einer Datenbank jedoch alle
Frühere Verweise auf diesen Workflow (und alle seine Unterworkflows) werden gelöscht
Es. Bei der Ausgabe in eine BP-Datei wird die Datei gelöscht. Beim Ausführen in der Wiederholung
Modus pegasus-monitord läuft immer mit dem --no-dämon Option und etwaige Fehler
wird direkt an das Terminal ausgegeben. Auch, pegasus-monitord wird keine verarbeiten
Benachrichtigungen im Wiedergabemodus.
--keine Benachrichtigungen
Diese Option deaktiviert Benachrichtigungen vollständig pegasus-monitord ignoriere alles
.notify-Dateien für alle verfolgten Workflows.
--notifications-max max_notifications
Diese Option legt die maximale Anzahl gleichzeitiger Benachrichtigungen fest pegasus-monitord
wird beginnen. Wenn das max_notifications Grenze erreicht ist, pegasus-monitord wird Schlange stehen
Benachrichtigungen und warten Sie, bis ein ausstehendes Benachrichtigungsskript abgeschlossen ist, bevor Sie a starten
ein neues. Wenn max_notifications auf 0 gesetzt ist, werden Benachrichtigungen deaktiviert.
--notifications-timeout Timeout
Normalerweise pegasus-monitord startet ein Benachrichtigungsskript und wartet auf unbestimmte Zeit
es zu beenden. Mit dieser Option können Benutzer ein Maximum festlegen Timeout zur Verbesserung der Gesundheitsgerechtigkeit
pegasus-monitord wartet, bis ein Benachrichtigungsskript abgeschlossen ist, bevor es beendet wird.
Wenn Benachrichtigungsskripte nicht innerhalb einer angemessenen Zeitspanne abgeschlossen werden, kann dies zu Problemen führen
Andere Benachrichtigungsskripts müssen aufgrund der maximalen Anzahl gleichzeitiger Skripts in die Warteschlange gestellt werden
Skripte erlaubt von pegasus-monitord. Zusätzlich, bis alle Benachrichtigungsskripte
Fertig, pegasus-monitord wird nicht beendet.
-s Millischlaf, --sim Millischlaf
Diese Option simuliert Verzögerungen zwischen Lesevorgängen durch Schlafen Millischlaf Millisekunden. Das
Diese Option wird hauptsächlich von Entwicklern verwendet.
--db-stats
Diese Option bewirkt, dass das Datenbankmodul Datenbankstatistiken sammelt und ausdruckt
Ende der Hinrichtung. Es hat keine Auswirkung, wenn die --no-database Option gegeben ist.
--skip-stdout
Diese Option verursacht pegasus-monitord Stdout und Stdderr von Jobs nicht in die Datei einfügen
BP-Datei oder die Stampede-Datenbank. Es sollte verwendet werden, um eine Vergrößerung der Datenbank zu vermeiden
In Fällen, in denen die Ausgabe von Aufträgen sehr ausführlich ist, kann die Größe erheblich verringert werden.
-f, --Macht
Diese Option verursacht pegasus-monitord um die Suche nach einer anderen Instanz von sich selbst zu überspringen
läuft bereits im selben Workflow-Verzeichnis. Das Standardverhalten verhindert zwei oder
mehr pegasus-monitord Instanzen davon abhalten, gleichzeitig zu starten und auszuführen (was der Fall wäre).
Dies führt dazu, dass die BP-Datei und die Datenbank in einem instabilen Zustand verbleiben. Diese Option sollte
Es darf nur verwendet werden, wenn der Benutzer die vorherige Instanz von kennt pegasus-monitord is NICHT
mehr laufen.
--Steckdose
Diese Option verursacht pegasus-monitord um eine Socket-Schnittstelle zu starten, die für verwendet werden kann
erweitertes Debugging. Die Portnummer für die Verbindung pegasus-monitord kann gefunden werden in
monitord.sock Datei im Workflow-Verzeichnis (die Datei wird gelöscht, wenn
pegasus-monitord Abschlüsse). Falls noch nicht geschehen, ist auch die Socket-Schnittstelle gestartet
erstellt, wenn pegasus-monitord erhält ein USR1 Signal.
-o dir, --Ausgabeverzeichnis dir
Wenn diese Option gegeben ist, pegasus-monitord erstellt alle seine Ausgabedateien im
Verzeichnis angegeben von d. Diese Option ist nützlich, um einem Benutzer das Debuggen von a zu ermöglichen
Workflow in einem Verzeichnis, für das der Benutzer keine Schreibrechte hat. In diesem Fall alle
Dateien generiert von pegasus-monitord wird den Workflow haben wf_uuid als Präfix damit
Dateien aus mehreren Unterworkflows können im selben Verzeichnis abgelegt werden. Diese Option ist
hauptsächlich verwendet von Pegasus-Analysator. Es ist wichtig zu beachten, dass der Standort für die
Die Ausgabe der BP-Datei oder Datenbank wird durch diese Option nicht verändert und sollte über festgelegt werden
- Ziel .
-d URL params, - Ziel URL params
Mit dieser Option können Benutzer das Ziel für die von generierten Protokollereignisse angeben
pegasus-monitord. Wenn diese Option weggelassen wird, pegasus-monitord wird ein SQLite erstellen
Datenbank im Ausführungsverzeichnis des Workflows mit demselben Namen wie der Workflow, jedoch mit
a .stampede.db Präfix. Für ein leer planen, params sind ein Dateipfad mit - Bedeutung
Standardausgabe. Für ein x-tcp planen, params sind TCP_host[:port=14380]. Für eine Datenbank
planen, params sind SQLAlchemy Sie URL mit einer Datenbankverbindungszeichenfolge, die das kann
kann verwendet werden, um verschiedene Datenbank-Engines anzugeben. Bitte sehen Sie sich den Abschnitt mit den Beispielen unten an
Weitere Informationen zur Verwendung dieser Option finden Sie hier. Beachten Sie dies bei Verwendung einer Datenbank-Engine
ausgenommen SQLitemüssen die erforderlichen Python-Datenbanktreiber installiert werden.
-e Codierung, --Codierung Codierung
Diese Option gibt an, wie Protokollereignisse kodiert werden. Die beiden verfügbaren Möglichkeiten sind bp
und bson. Wenn diese Option nicht angegeben ist, werden Ereignisse im generiert bp Format.
DAGMan_output_file
Die DAGMan_output_file ist das einzige erforderliche Befehlszeilenargument in pegasus-monitord
und muss das haben .dag.dagman.out Erweiterung.
RÜCKKEHR BEWERTUNG
Wenn der Plan erstellt werden könnte, pegasus-monitord kehrt mit einem Exit-Code von 0 zurück.
Im Fehlerfall weist jedoch ein Exit-Code ungleich Null auf Probleme hin. In diesem Fall ist die
Logdatei sollte zusätzliche Informationen über den Fehlerzustand enthalten.
VARIABLEN
pegasus-monitord erfordert keine Einstellung von Umgebungsvariablen. Es lokalisiert seine
erforderliche Python-Module basierend auf ihrem eigenen Speicherort und sollten daher nicht verschoben werden
außerhalb des bin-Verzeichnisses von Pegasus.
Beispiele:
Gewöhnlich, pegasus-monitord wird automatisch aufgerufen von pegasus-lauf und verfolgt den Arbeitsablauf
Fortschritt in Echtzeit, Erstellung der jobstate.log Datei und ein entsprechendes SQLite
Datenbank. Wenn ein Workflow fehlschlägt und mit einem Rettungs-DAG erneut übermittelt wird, pegasus-monitord
fährt automatisch dort fort, wo es zuvor aufgehört hat, und setzt den Vorgang fort jobstate.log
Datei und die Datenbank.
Wenn Benutzer das erstellen müssen jobstate.log Datei, nachdem ein Workflow bereits abgeschlossen ist, die
--Wiederholung | -r Option sollte beim Ausführen verwendet werden pegasus-monitord manuell. Zum Beispiel:
$ pegasus_monitord -r diamant-0.dag.dagman.out
wird starten pegasus-monitord im Wiedergabemodus. In diesem Fall, wenn a jobstate.log Datei bereits
existiert, wird sie gedreht und eine neue Datei erstellt. Wenn ein diamant-0.stampede.db
SQLite-Datenbank existiert bereits, pegasus-monitord löscht alle Verweise auf den Workflow
id angegeben in der braindump.txt Datei, einschließlich aller damit verbundenen Unterworkflows
Workflow-ID.
$ pegasus_monitord -r --no-database diamant-0.dag.dagman.out
wird das Gleiche tun, jedoch ohne Protokollereignisse zu generieren.
$ pegasus_monitord -r --dest `pwd`/diamond-0.bp diamant-0.dag.dagman.out
erstellt die Datei Diamant-0.bp im aktuellen Verzeichnis, das NetLogger-Ereignisse enthält
mit allen Workflow-Daten. Dies ist zusätzlich zum jobstate.log Datei.
Für die Verwendung einer Datenbank sollten Benutzer eine Datenbankverbindungszeichenfolge im folgenden Format bereitstellen:
Dialekt://Benutzername:Passwort@Host:Port/Datenbank
Wo Dialekt ist der Name des zugrunde liegenden Treibers (mysql, SQLite, Orakel, Postgres) und
Datenbank ist der Name der Datenbank, die auf dem Server läuft Gastgeber Computer.
Wenn Benutzer ein anderes verwenden möchten SQLite Datenbank, pegasus-monitord erfordert es von ihnen
Geben Sie den absoluten Pfad der alternativen Datei an. Zum Beispiel:
$ pegasus_monitord -r --dest sqlite:////home/user/diamond_database.db diamant-0.dag.dagman.out
Hier finden Sie Dokumente mit Details zu allen unterstützten Treibern:
http://www.sqlalchemy.org/docs/05/reference/dialects/index.html
Zusätzliche datenbankspezifische Optionen, die in die Verbindungszeichenfolgen einfließen, werden dort beschrieben.
Es ist wichtig zu beachten, dass man über die entsprechende Datenbankschnittstellenbibliothek verfügen muss
Eingerichtet. Was ist zu sagen, SQLAlchemy ist ein Wrapper um die MySQL-Schnittstellenbibliothek
(zum Beispiel) bietet es keine MySQL Fahrer selbst. Der Pegasus Verteilung
beinhaltet beides SQLAlchemy und der SQLite Python-Treiber.
Abschließend ist es wichtig, dies im Gegensatz zur Verwendung zu erwähnen SQLite Datenbanken, mit
SQLAlchemy mit anderen Datenbankservern, z.B MySQL or Postgres, die Zieldatenbank benötigt
existieren. Wenn ein Benutzer also eine Verbindung herstellen möchte zu:
mysql://pegasus-user:supersecret@localhost:localport/diamond
Es müsste zuerst eine Verbindung zum Server unter hergestellt werden localhost und erteilen Sie den entsprechenden Befehl
Datenbankbefehl vor der Ausführung pegasus-monitord as SQLAlchemy kümmert sich um die Erstellung
die Tabellen und Indizes, sofern diese noch nicht vorhanden sind.
Nutzen Sie pegasus-monitord online über die Dienste von onworks.net