TaskMgr-Verzeichnisstruktur und Dateien: Unterschied zwischen den Versionen

Aus TALSIM Docs
Keine Bearbeitungszusammenfassung
(Diese Seite wurde zum Übersetzen freigegeben)
Zeile 2: Zeile 2:
<translate>
<translate>


<!--T:1-->
{{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}}


<!--T:2-->
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 [[Special:MyLanguage/#sydrotaskmgr.process.xml|Input-File]] eingegeben werden müssen. Dazu kann beispielsweise ein Ordner ''TaskMgr'' in dasselbe Verzeichnis wie der Ordner ''TaskSrv'' gelegt werden.
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 [[Special:MyLanguage/#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== <!--T:3-->


<!--T:4-->
<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 [[Special:MyLanguage/#sydrotaskmgr.process.xml|<code>]] 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.  
<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 [[Special:MyLanguage/#sydrotaskmgr.process.xml|<code>]] 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.  


<!--T:5-->
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 [[Special:MyLanguage/#diag.xml|<code>diag.xml</code>]] gelesen 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 [[Special:MyLanguage/#diag.xml|<code>diag.xml</code>]] gelesen werden.


<!--T:6-->
[[Datei:Fenster_Sydro_TaskManager.PNG|Datei:Fenster_Sydro_TaskManager.PNG]]
[[Datei:Fenster_Sydro_TaskManager.PNG|Datei:Fenster_Sydro_TaskManager.PNG]]


<!--T:7-->
[[Datei:Fenster_Sydro_TaskManager_Status.PNG|Datei:Fenster_Sydro_TaskManager_Status.PNG]]
[[Datei:Fenster_Sydro_TaskManager_Status.PNG|Datei:Fenster_Sydro_TaskManager_Status.PNG]]


<!--T:8-->
[[Datei:Fenster_Sydro_TaskManager_Status_finished.PNG|Datei:Fenster_Sydro_TaskManager_Status_finished.PNG]]
[[Datei:Fenster_Sydro_TaskManager_Status_finished.PNG|Datei:Fenster_Sydro_TaskManager_Status_finished.PNG]]


Zeile 23: Zeile 30:
<span id="sydrotaskmgr.process.xml"></span>
<span id="sydrotaskmgr.process.xml"></span>
<translate>
<translate>
==SydroTaskMgr.process.xml==
==SydroTaskMgr.process.xml== <!--T:9-->


<!--T:10-->
Die Datei <code>SydroTaskMgr.process.xml</code> ist die Input-Datei für den TaskManager im XML-Format.  
Die Datei <code>SydroTaskMgr.process.xml</code> 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.
Hier wird eingestellt, welche Tasks der TaskManager nacheinander abarbeiten soll und die nötigen Argumente dafür mitgegeben.


<!--T:11-->
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):


<!--T:12-->
<pre>
<pre>
<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">
Zeile 92: Zeile 102:
</pre>
</pre>


<!--T:13-->
Die wichtigsten Argumente zu den Tasks in der Input-Datei:
Die wichtigsten Argumente zu den Tasks in der Input-Datei:


<!--T:14-->
{| class="wikitable"
{| class="wikitable"
!Argument
!Argument
Zeile 133: Zeile 145:




===Ausführen eines beliebigen Programms===
===Ausführen eines beliebigen Programms=== <!--T:15-->


<!--T:16-->
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:
<pre>
<pre>
Zeile 173: Zeile 186:
Wichtig ist "Any" als <code>Executable</code> anzugeben.
Wichtig ist "Any" als <code>Executable</code> anzugeben.


<!--T:17-->
Die Angabe einer oder mehrer Logdateien als <code>LogFile</code> 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.
Die Angabe einer oder mehrer Logdateien als <code>LogFile</code> 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.


Zeile 179: Zeile 193:
<span id="diag.xml"></span>
<span id="diag.xml"></span>
<translate>
<translate>
==diag.xml==
==diag.xml== <!--T:18-->


<!--T:19-->
Kurzbericht des TaskManager-Laufs. Beispiel:
Kurzbericht des TaskManager-Laufs. Beispiel:


<!--T:20-->
<pre>
<pre>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Zeile 196: Zeile 212:




==SydroTaskMgr.log==
==SydroTaskMgr.log== <!--T:21-->


<!--T:22-->
Ausführlicher Bericht des TaskManagers.
Ausführlicher Bericht des TaskManagers.


<!--T:23-->
<pre>
<pre>
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,248 [1] INFO  -      [SydroTaskMgrLog] TaskMain: Start: Apply C:\TalsimNG\Customers\Auftraggeber_1\projectData\user1\SydroTaskMgr\SydroTaskMgr.process.xml
Zeile 218: Zeile 236:




==Weitere Dateien==
==Weitere Dateien== <!--T:24-->


<!--T:25-->
Für die Ausführung des TaskManagers müssen im gleichen Verzeichnis weitere Dateien vorhanden sein, aber nicht angepasst werden:
Für die Ausführung des TaskManagers müssen im gleichen Verzeichnis weitere Dateien vorhanden sein, aber nicht angepasst werden:
*<code>SydroTaskMgr.exe.config</code>
*<code>SydroTaskMgr.exe.config</code>

Version vom 23. September 2020, 15:03 Uhr

Sprachen:

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.

Datei:Fenster_Sydro_TaskManager.PNG

Datei:Fenster_Sydro_TaskManager_Status.PNG

Datei:Fenster_Sydro_TaskManager_Status_finished.PNG


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 DefaultHandling 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