TaskMgr-Verzeichnisstruktur und Dateien/en: Unterschied zwischen den Versionen
Doeser (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „TaskMgr- Directory structure and files“) |
(Übernehme Bearbeitung einer neuen Version der Quellseite) |
||
Zeile 3: | Zeile 3: | ||
{{Navigation|vorher=Ablauf eines TaskMgr-Einsatzes|hoch=Arbeiten mit dem SydroTaskMgr|nachher=Arbeiten mit dem SydroCmd tool}} | {{Navigation|vorher=Ablauf eines TaskMgr-Einsatzes|hoch=Arbeiten mit dem SydroTaskMgr|nachher=Arbeiten mit dem SydroCmd tool}} | ||
Für den Sydro-TaskManager ist die Verzeichnisstruktur prinzipiell nicht festgelegt. Es ist aber für den Anwender praktisch, wenn die TaskManager-Dateien mit einem festen Bezug zu und in der Nähe der [[Special:MyLanguage/TaskSrv-Verzeichnisstruktur und Dateien|TaskServer-Dateien]] liegen, da so nur kurze relative Pfade in das TaskManager [[ | Für den Sydro-TaskManager ist die Verzeichnisstruktur prinzipiell nicht festgelegt. Es ist aber für den Anwender praktisch, wenn die TaskManager-Dateien mit einem festen Bezug zu und in der Nähe der [[Special:MyLanguage/TaskSrv-Verzeichnisstruktur und Dateien|TaskServer-Dateien]] liegen, da so nur kurze relative Pfade in das TaskManager [[#sydrotaskmgr.process.xml|Input-File]] eingegeben werden müssen. Dazu kann beispielsweise ein Ordner ''TaskMgr'' in dasselbe Verzeichnis wie der Ordner ''TaskSrv'' gelegt werden. | ||
==SydroTaskMgr.exe== | ==SydroTaskMgr.exe== | ||
<code>SydroTaskMgr.exe</code> ist die ausführbare Programmdatei des Taskservers. Sie kann entweder über einen Doppelklick gestartet werden oder über die Kommandozeile. Liegt die Input-Datei [[ | <code>SydroTaskMgr.exe</code> ist die ausführbare Programmdatei des Taskservers. Sie kann entweder über einen Doppelklick gestartet werden oder über die Kommandozeile. Liegt die Input-Datei <code>[[#sydrotaskmgr.process.xml|SydroTaskMgr.process.xml]]</code> im selben Verzeichnis müssen keine weiteren Argumente eingegeben werden. Trägt die Input-Datei einen anderen Namen, muss der Dateiname in der Kommandozeile als Argument mitgegeben werden. | ||
Nach Starten der ausführbaren Programmdatei öffnet sich das Fenster des TaskManagers. Hier wird lediglich der Status des TaskManagers eingetragen (die Meldungen können schnell wechseln, wenn die TASKS schnell durchlaufen). Ist der TaskManager fertig, schließt sich das Fenster automatisch. Eine Zusammenfassung der Statusberichte kann dann in dem neu geschriebenen File [[ | Nach Starten der ausführbaren Programmdatei öffnet sich das Fenster des TaskManagers. Hier wird lediglich der Status des TaskManagers eingetragen (die Meldungen können schnell wechseln, wenn die TASKS schnell durchlaufen). Ist der TaskManager fertig, schließt sich das Fenster automatisch. Eine Zusammenfassung der Statusberichte kann dann in dem neu geschriebenen File <code>[[#diag.xml|diag.xml]]</code> gelesen werden. | ||
[[Datei:Fenster_Sydro_TaskManager.PNG|Datei:Fenster_Sydro_TaskManager.PNG]] | [[Datei:Fenster_Sydro_TaskManager.PNG|Datei:Fenster_Sydro_TaskManager.PNG]] | ||
Zeile 27: | Zeile 27: | ||
Beispiel für eine <code>SydroTaskMgr.process.xml</code>-Datei mit drei Tasks (Pre-Processing, Simulation, Post-Processing): | Beispiel für eine <code>SydroTaskMgr.process.xml</code>-Datei mit drei Tasks (Pre-Processing, Simulation, Post-Processing): | ||
< | <source lang="xml"> | ||
<TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | <TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
<WriteDiag>true</WriteDiag> | <WriteDiag>true</WriteDiag> | ||
Zeile 87: | Zeile 87: | ||
</Tasks> | </Tasks> | ||
</TaskList> | </TaskList> | ||
</ | </source> | ||
Die wichtigsten Argumente zu den Tasks in der Input-Datei: | Die wichtigsten Argumente zu den Tasks in der Input-Datei: | ||
Zeile 109: | Zeile 109: | ||
|- | |- | ||
|ErrorHandling | |ErrorHandling | ||
|DefaultHandling | | | ||
*DefaultHandling | |||
*StopWhenError | |||
*ContinueWhenError | |||
|Einstellung, wie Fehler behandelt werden sollen | |Einstellung, wie Fehler behandelt werden sollen | ||
|- | |- | ||
Zeile 133: | Zeile 136: | ||
Mit dem SydroTaskMgr kann neben Talsim und TaskSrv auch ein beliebiges ausführbares Programm gestartet werden. Beispiel: | Mit dem SydroTaskMgr kann neben Talsim und TaskSrv auch ein beliebiges ausführbares Programm gestartet werden. Beispiel: | ||
< | <source lang="xml"> | ||
<TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | <TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> | ||
<ErrorHandling>DefaultHandling</ErrorHandling> | <ErrorHandling>DefaultHandling</ErrorHandling> | ||
Zeile 167: | Zeile 170: | ||
<DiagDir>.\</DiagDir> | <DiagDir>.\</DiagDir> | ||
</TaskList> | </TaskList> | ||
</ | </source> | ||
Wichtig ist "Any" als <code>Executable</code> anzugeben. | Wichtig ist "Any" als <code>Executable</code> anzugeben. | ||
Zeile 178: | Zeile 181: | ||
Kurzbericht des TaskManager-Laufs. Beispiel: | Kurzbericht des TaskManager-Laufs. Beispiel: | ||
< | <source lang="xml"> | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<Diag version="1.2" xmlns="http://www.wldelft.nl/fews/PI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_diag.xsd"> | <Diag version="1.2" xmlns="http://www.wldelft.nl/fews/PI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_diag.xsd"> | ||
Zeile 188: | Zeile 191: | ||
<line description="TaskExecuteTaskSrv: aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln terminated, number of Warnings= 33 and Errors= 0" level="3"/> | <line description="TaskExecuteTaskSrv: aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln terminated, number of Warnings= 33 and Errors= 0" level="3"/> | ||
</Diag> | </Diag> | ||
</ | </source> | ||
Aktuelle Version vom 3. Mai 2021, 20:28 Uhr
Für den Sydro-TaskManager ist die Verzeichnisstruktur prinzipiell nicht festgelegt. Es ist aber für den Anwender praktisch, wenn die TaskManager-Dateien mit einem festen Bezug zu und in der Nähe der TaskServer-Dateien liegen, da so nur kurze relative Pfade in das TaskManager Input-File eingegeben werden müssen. Dazu kann beispielsweise ein Ordner TaskMgr in dasselbe Verzeichnis wie der Ordner TaskSrv gelegt werden.
SydroTaskMgr.exe
SydroTaskMgr.exe
ist die ausführbare Programmdatei des Taskservers. Sie kann entweder über einen Doppelklick gestartet werden oder über die Kommandozeile. Liegt die Input-Datei SydroTaskMgr.process.xml
im selben Verzeichnis müssen keine weiteren Argumente eingegeben werden. Trägt die Input-Datei einen anderen Namen, muss der Dateiname in der Kommandozeile als Argument mitgegeben werden.
Nach Starten der ausführbaren Programmdatei öffnet sich das Fenster des TaskManagers. Hier wird lediglich der Status des TaskManagers eingetragen (die Meldungen können schnell wechseln, wenn die TASKS schnell durchlaufen). Ist der TaskManager fertig, schließt sich das Fenster automatisch. Eine Zusammenfassung der Statusberichte kann dann in dem neu geschriebenen File diag.xml
gelesen werden.
SydroTaskMgr.process.xml
Die Datei SydroTaskMgr.process.xml
ist die Input-Datei für den TaskManager im XML-Format.
Hier wird eingestellt, welche Tasks der TaskManager nacheinander abarbeiten soll und die nötigen Argumente dafür mitgegeben.
Beispiel für eine SydroTaskMgr.process.xml
-Datei mit drei Tasks (Pre-Processing, Simulation, Post-Processing):
<TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <WriteDiag>true</WriteDiag> <DiagFormat>FEWS</DiagFormat> <DiagDir>.</DiagDir> <ErrorHandling>DefaultHandling</ErrorHandling> <Tasks> <Task> <Active>false</Active> <Job>RunExecutable</Job> <Description>Input Abfluss einlesen und in TalsimNG Binaer Format konvertieren</Description> <Key>?</Key> <ErrorHandling>DefaultHandling</ErrorHandling> <Execute>..\TaskSrv\Exe\tasksrvi.exe</Execute> <Executable>TaskSrv</Executable> <ProcessWindowsStyle>Hidden</ProcessWindowsStyle> <Arguments>tasksrv.Import_FewsZeitreihenkomplett.Q.run</Arguments> <FileFormat>FEWS</FileFormat> <FileSelectionPattern>?</FileSelectionPattern> <NewFileExtension>?</NewFileExtension> <InputFile>?</InputFile> <OutputFile>?</OutputFile> <OutputDir>?</OutputDir> </Task> <Task> <Active>false</Active> <Job>RunExecutable</Job> <Description>Simulation Gesamtsystem</Description> <Key>?</Key> <ErrorHandling>DefaultHandling</ErrorHandling> <Execute>..\TaskSrv\Exe\talsimw.exe</Execute> <Executable>Talsim</Executable> <ProcessWindowsStyle>Hidden</ProcessWindowsStyle> <Arguments>talsim.nagesamt.run</Arguments> <FileFormat>FEWS</FileFormat> <FileSelectionPattern>?</FileSelectionPattern> <NewFileExtension>?</NewFileExtension> <InputFile>?</InputFile> <OutputFile>?</OutputFile> <OutputDir>?</OutputDir> </Task> <Task> <Active>true</Active> <Job>RunExecutable</Job> <Description>aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln</Description> <Key>?</Key> <ErrorHandling>DefaultHandling</ErrorHandling> <Execute>..\TaskSrv\Exe\tasksrvi.exe</Execute> <Executable>TaskSrv</Executable> <ProcessWindowsStyle>Hidden</ProcessWindowsStyle> <Arguments>tasksrv.Result_MinMaxMittel.run</Arguments> <FileFormat>FEWS</FileFormat> <FileSelectionPattern>?</FileSelectionPattern> <NewFileExtension>?</NewFileExtension> <InputFile>?</InputFile> <OutputFile>?</OutputFile> <OutputDir>?</OutputDir> </Task> </Tasks> </TaskList>
Die wichtigsten Argumente zu den Tasks in der Input-Datei:
Argument | Beispieleinträge | Beschreibung |
---|---|---|
Active | true, false | Ist die Task aktiv, d.h. soll sie beim Starten des TaskManagers ausgeführt werden? |
Job | RunExecutable, CleanUpDirectory | Eindeutiger Name des Jobs (z.B. RunExecutable: auführbare Programmdatei starten) |
Description | Step 1/10: Download and process data from DWD | Beschreibung der Task (frei) |
ErrorHandling |
|
Einstellung, wie Fehler behandelt werden sollen |
Execute | ..\TaskSrv\Exe\tasksrvi.exe | Pfad zur ausführbaren Programmdatei |
Executable | TaskSrv | Name der ausführbaren Programmdatei |
ProcessWindowsStyle | Normal, Hidden | Prozessfensterstil (Normal: Fenster des aufgerufenen Programms wird während der Ausführung angezeigt; Hidden: Fenster werden nicht angezeigt) |
Arguments | tasksrv_DWD_00_Cmd_Process.run | Argument für die ausführbare Programmdatei (z.B. *.run -Dateien von TaskServer oder Talsim)
|
Ausführen eines beliebigen Programms
Mit dem SydroTaskMgr kann neben Talsim und TaskSrv auch ein beliebiges ausführbares Programm gestartet werden. Beispiel:
<TaskList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ErrorHandling>DefaultHandling</ErrorHandling> <ErrorMsg /> <WarningMsg /> <Tasks> <Task> <Active>true</Active> <Job>RunExecutable</Job> <Description>MyDescription</Description> <Key>Normal</Key> <ErrorHandling>DefaultHandling</ErrorHandling> <Execute>D:\program\myprogram.bat</Execute> <Executable>Any</Executable> <ProcessWindowsStyle>Normal</ProcessWindowsStyle> <Arguments>?</Arguments> <FileFormat>UNKNOWN</FileFormat> <FileSelectionPattern>?</FileSelectionPattern> <NewFileExtension>?</NewFileExtension> <InputFile>?</InputFile> <OutputFile>?</OutputFile> <OutputDir>?</OutputDir> <WorkingDirectory>D:\workdir\</WorkingDirectory> <LogFiles> <TaskLog> <LogFile>D:\workdir\log\*.log</LogFile> </TaskLog> </LogFiles> </Task> </Tasks> <WriteDiag>true</WriteDiag> <DiagFormat>FEWS</DiagFormat> <DiagDir>.\</DiagDir> </TaskList>
Wichtig ist "Any" als Executable
anzugeben.
Die Angabe einer oder mehrer Logdateien als LogFile
führt dazu, dass diese Logdateien nach Ausführung des Programms nach dem Stichwort "ERROR" durchsucht werden und mit weiteren Tasks entsprechend darauf reagiert werden kann. Die Angabe von einem Platzhalter "*" im Dateinamen einer Logdatei führt dazu, dass von allen Dateien, die dem Namensmuster entsprechen, nur die neueste nach "ERROR" durchsucht wird.
diag.xml
Kurzbericht des TaskManager-Laufs. Beispiel:
<?xml version="1.0" encoding="UTF-8"?> <Diag version="1.2" xmlns="http://www.wldelft.nl/fews/PI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews/PI http://fews.wldelft.nl/schemas/version1.0/pi-schemas/pi_diag.xsd"> <line description="TaskList: Process" level="3"/> <line description="Task: Process (inactive):Input Abfluss einlesen und in TalsimNG Binaer Format konvertieren" level="3"/> <line description="Task: Process (inactive):Simulation Gesamtsystem" level="3"/> <line description="Task: Process (active):aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln" level="3"/> <line description="TaskExecuteTaskSrv: Run Executable, tasksrvi.exe, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\, tasksrv.Result_MinMaxMittel.run" level="3"/> <line description="TaskExecuteTaskSrv: aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln terminated, number of Warnings= 33 and Errors= 0" level="3"/> </Diag>
SydroTaskMgr.log
Ausführlicher Bericht des TaskManagers.
2019-07-17 10:59:37,248 [1] INFO - [SydroTaskMgrLog] TaskMain: Start: Apply C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\SydroTaskMgr\SydroTaskMgr.process.xml 2019-07-17 10:59:37,389 [5] INFO - [SydroTaskMgrLog] TaskMain: StartThread 2019-07-17 10:59:38,839 [5] INFO - [SydroTaskMgrLog] TaskList: Process 2019-07-17 10:59:38,839 [5] INFO - [SydroTaskMgrLog] Task: Process (inactive):Input Abfluss einlesen und in TalsimNG Binaer Format konvertieren 2019-07-17 10:59:38,839 [5] INFO - [SydroTaskMgrLog] Task: Process (inactive):Simulation Gesamtsystem 2019-07-17 10:59:38,839 [5] INFO - [SydroTaskMgrLog] Task: Process (active):aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln 2019-07-17 10:59:38,839 [5] DEBUG - [SydroTaskMgrLog] Task: RunExecutable, TaskSrv 2019-07-17 10:59:38,839 [5] DEBUG - [SydroTaskMgrLog] Task: CreateExecutableTaskSrv 2019-07-17 10:59:38,917 [5] DEBUG - [SydroTaskMgrLog] TaskExecuteTaskSrv: RunExecutableTaskSrv, aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln 2019-07-17 10:59:38,933 [5] DEBUG - [SydroTaskMgrLog] TaskExecuteTaskSrv: KillStatusLog, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\tasksrv.status.log 2019-07-17 10:59:38,933 [5] INFO - [SydroTaskMgrLog] TaskExecuteTaskSrv: Run Executable, tasksrvi.exe, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\, tasksrv.Result_MinMaxMittel.run 2019-07-17 10:59:41,008 [5] DEBUG - [SydroTaskMgrLog] TaskExecuteTaskSrv: CheckStatusLog, C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\TaskSrv\Exe\tasksrv.status.log 2019-07-17 10:59:41,039 [5] INFO - [SydroTaskMgrLog] TaskExecuteTaskSrv: aus Talsim-NG Ergebnissen MinMaxMittel Statistik ermitteln terminated, number of Warnings= 33 and Errors= 0 2019-07-17 10:59:41,039 [5] INFO - [SydroTaskMgrLog] TaskMain: Process finished
Weitere Dateien
Für die Ausführung des TaskManagers müssen im gleichen Verzeichnis weitere Dateien vorhanden sein, aber nicht angepasst werden:
SydroTaskMgr.exe.config
SydroTaskMgr.log.config
log4net.xml
log4net.dll