Zusammenarbeit TaskSrv-SydroCmd: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Doeser (Diskussion | Beiträge) (Diese Seite wurde zum Übersetzen freigegeben) |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<languages/> | |||
<translate> | |||
<!--T:1--> | |||
{{Navigation|vorher=Liste aller TaskSrv-Jobs|hoch=Arbeiten mit dem TaskSrv|nachher=Zusammenarbeit TaskSrv-SydroTaskMgr}} | {{Navigation|vorher=Liste aller TaskSrv-Jobs|hoch=Arbeiten mit dem TaskSrv|nachher=Zusammenarbeit TaskSrv-SydroTaskMgr}} | ||
<!--T:2--> | |||
Der TaskServer kann das SydroCmd-tool aufrufen und dadurch seine Funktionalität noch deutlich erweitern. Insbesondere kann das SydroCmd-tool Datumsangaben verarbeiten, das aktuelle Datum abrufen und in Dateien ersetzen und Dateien aus dem Internet runterladen. Für den operationellen Einsatz ist es daher unerlässlich. | Der TaskServer kann das SydroCmd-tool aufrufen und dadurch seine Funktionalität noch deutlich erweitern. Insbesondere kann das SydroCmd-tool Datumsangaben verarbeiten, das aktuelle Datum abrufen und in Dateien ersetzen und Dateien aus dem Internet runterladen. Für den operationellen Einsatz ist es daher unerlässlich. | ||
Für den Aufruf des SydroCmd-tools wird der TaskServer-Job [[Liste_aller_TaskSrv-Jobs#Command_line|Command line]] (<code>CMD</code>) genutzt. | <!--T:3--> | ||
Für den Aufruf des SydroCmd-tools wird der TaskServer-Job [[Special:MyLanguage/Liste_aller_TaskSrv-Jobs#Command_line|Command line]] (<code>CMD</code>) genutzt. | |||
<!--T:4--> | |||
Wie für den normalen Ablauf einer TaskServer-Auswertung müssen die TaskServer template-Datei, die Input-Datei und die task-Datei vorbereitet werden. Die Attribute für den Job im Template-File sind <code>Command=SydroCmd</code>, sowie der Befehl, der mit dem SydroCmd-tool ausgeführt werden soll und alle dafür benötigten Argumente mit den Schlüsselwörtern <code>Arg1=</code>, <code>Arg2=</code> usw. | Wie für den normalen Ablauf einer TaskServer-Auswertung müssen die TaskServer template-Datei, die Input-Datei und die task-Datei vorbereitet werden. Die Attribute für den Job im Template-File sind <code>Command=SydroCmd</code>, sowie der Befehl, der mit dem SydroCmd-tool ausgeführt werden soll und alle dafür benötigten Argumente mit den Schlüsselwörtern <code>Arg1=</code>, <code>Arg2=</code> usw. | ||
==Beispiel== <!--T:5--> | |||
<!--T:6--> | |||
Beispiel für eine Template Datei <code>Cmd.Replace.tpl</code>: | Beispiel für eine Template Datei <code>Cmd.Replace.tpl</code>: | ||
<!--T:7--> | |||
<pre> | <pre> | ||
#======================= | #======================= | ||
Zeile 17: | Zeile 28: | ||
CountJobs=1 | CountJobs=1 | ||
<!--T:8--> | |||
#ID;aktiv 0/1;RUNMODE 0=LoopInput, 1=MergeInput; Identifier;Mode;Beschreibung | #ID;aktiv 0/1;RUNMODE 0=LoopInput, 1=MergeInput; Identifier;Mode;Beschreibung | ||
1;1;0;CmdSetDate;CMD;Executes a command line | 1;1;0;CmdSetDate;CMD;Executes a command line | ||
<!--T:9--> | |||
[VARIABLES] | [VARIABLES] | ||
CountVariables=4 | CountVariables=4 | ||
Zeile 30: | Zeile 43: | ||
<!--T:10--> | |||
[CmdSetDate] | [CmdSetDate] | ||
Key=%1 | Key=%1 | ||
Zeile 40: | Zeile 54: | ||
</pre> | </pre> | ||
Im Bereich, in dem die Attribute für den Job festgelegt werden <code>[CmdSetDate]</code>, wird mit dem Attribut <code>Command</code> angegeben, dass das Programm <code>SydroCmd</code> aufgerufen werden soll. Beim ersten Attribut <code>Arg1</code> wird der Schlüssel des Befehls eingegeben, den das SydroCmd-tool ausführen soll (hier: -replace) (s. auch [[Anwendung des SydroCmd-tools]]). Die weiteren Attribute sind die Argumente, die der Befehl braucht, ggf. als Variablen (vorher definiert im Bereich <code>[VARIABLES]</code>. | <!--T:11--> | ||
Im Bereich, in dem die Attribute für den Job festgelegt werden <code>[CmdSetDate]</code>, wird mit dem Attribut <code>Command</code> angegeben, dass das Programm <code>SydroCmd</code> aufgerufen werden soll. Beim ersten Attribut <code>Arg1</code> wird der Schlüssel des Befehls eingegeben, den das SydroCmd-tool ausführen soll (hier: -replace) (s. auch [[Special:MyLanguage/Anwendung des SydroCmd-tools|Anwendung des SydroCmd-tools]]). Die weiteren Attribute sind die Argumente, die der Befehl braucht, ggf. als Variablen (vorher definiert im Bereich <code>[VARIABLES]</code>. | |||
<!--T:12--> | |||
Beispiel für eine Input-Datei <code>Cmd.StartDownload.tpl</code>: | Beispiel für eine Input-Datei <code>Cmd.StartDownload.tpl</code>: | ||
<pre> | <pre> | ||
Zeile 48: | Zeile 64: | ||
#======================= | #======================= | ||
<!--T:13--> | |||
[INPUT] | [INPUT] | ||
Count=1 | Count=1 | ||
Zeile 53: | Zeile 70: | ||
Last=1 | Last=1 | ||
<!--T:14--> | |||
[1] | [1] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 59: | Zeile 77: | ||
<!--T:15--> | |||
[2] | [2] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 65: | Zeile 84: | ||
<!--T:16--> | |||
[3] | [3] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 70: | Zeile 90: | ||
Now | Now | ||
<!--T:17--> | |||
[4] | [4] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 76: | Zeile 97: | ||
</pre> | </pre> | ||
<!--T:18--> | |||
In dem Input-File werden die Variablen gefüllt, die in dem Template-File definiert wurden. Die dritte Variable <code>date</code> ist in diesem Fall nicht mit einem Datum im Datumsformat yyyymmddhhmm angegeben, sondern durch das Schlüssenwort <code>Now</code>. | In dem Input-File werden die Variablen gefüllt, die in dem Template-File definiert wurden. Die dritte Variable <code>date</code> ist in diesem Fall nicht mit einem Datum im Datumsformat yyyymmddhhmm angegeben, sondern durch das Schlüssenwort <code>Now</code>. | ||
Mit der Task, die dieses Template und dieses Input-File verknüpft, werden in der Datei <code>Cmd.SetDate.Template.txt</code> also alle Stellen mit dem Schlüsselwort <code>DATE</code> entsprechend ihrer Formatierungsangaben ausgehend vom aktuellen Datum ausgetauscht und in die Datei <code>Cmd.SetDate.txt</code> geschrieben. | Mit der Task, die dieses Template und dieses Input-File verknüpft, werden in der Datei <code>Cmd.SetDate.Template.txt</code> also alle Stellen mit dem Schlüsselwort <code>DATE</code> entsprechend ihrer Formatierungsangaben ausgehend vom aktuellen Datum ausgetauscht und in die Datei <code>Cmd.SetDate.txt</code> geschrieben. | ||
<!--T:19--> | |||
Beispiel für die Task-Datei <code>Cmd.SetCurrentDate.tsk</code>: | Beispiel für die Task-Datei <code>Cmd.SetCurrentDate.tsk</code>: | ||
<!--T:20--> | |||
<pre> | <pre> | ||
#======================= | #======================= | ||
Zeile 89: | Zeile 113: | ||
CountTask=1 | CountTask=1 | ||
<!--T:21--> | |||
[TASK1] | [TASK1] | ||
Key=Set current date | Key=Set current date | ||
Zeile 97: | Zeile 122: | ||
</pre> | </pre> | ||
<!--T:22--> | |||
Beispiel für eine Quelldatei, in der das Datum ausgetauscht werden soll (<code>Cmd.SetDate.Template.txt</code>): | Beispiel für eine Quelldatei, in der das Datum ausgetauscht werden soll (<code>Cmd.SetDate.Template.txt</code>): | ||
<pre> | <pre> | ||
Zeile 103: | Zeile 129: | ||
#======================= | #======================= | ||
<!--T:23--> | |||
[INPUT] | [INPUT] | ||
Count=7 | Count=7 | ||
Zeile 108: | Zeile 135: | ||
Last=7 | Last=7 | ||
<!--T:24--> | |||
[1] | [1] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 119: | Zeile 147: | ||
cmd.StartProcessing | cmd.StartProcessing | ||
<!--T:25--> | |||
[2] | [2] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 130: | Zeile 159: | ||
..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt | ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt | ||
<!--T:26--> | |||
[3] | [3] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 141: | Zeile 171: | ||
{DATE|yyyyMMdd|-1,d}0000 | {DATE|yyyyMMdd|-1,d}0000 | ||
<!--T:27--> | |||
[4] | [4] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 153: | Zeile 184: | ||
</pre> | </pre> | ||
<!--T:28--> | |||
Die Platzhalter für das Datum ist hier mit <code>{DATE|yyyyMMdd|-1,d}0000</code> eingestellt, d.h. das einzugebende Datum (hier das aktuelle, z.B. 19.7.2019) abzüglich eines Tages im Format yyyyMMdd (also z.B. 20190718). | Die Platzhalter für das Datum ist hier mit <code>{DATE|yyyyMMdd|-1,d}0000</code> eingestellt, d.h. das einzugebende Datum (hier das aktuelle, z.B. 19.7.2019) abzüglich eines Tages im Format yyyyMMdd (also z.B. 20190718). | ||
<!--T:29--> | |||
Beispiel für das zugehörige Output-File (<code>Cmd.SetDate.txt</code>): | Beispiel für das zugehörige Output-File (<code>Cmd.SetDate.txt</code>): | ||
<!--T:30--> | |||
<pre> | <pre> | ||
#======================= | #======================= | ||
Zeile 162: | Zeile 196: | ||
#======================= | #======================= | ||
<!--T:31--> | |||
[INPUT] | [INPUT] | ||
Count=7 | Count=7 | ||
Zeile 167: | Zeile 202: | ||
Last=7 | Last=7 | ||
<!--T:32--> | |||
[1] | [1] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 178: | Zeile 214: | ||
cmd.StartProcessing | cmd.StartProcessing | ||
<!--T:33--> | |||
[2] | [2] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 189: | Zeile 226: | ||
..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt | ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt | ||
<!--T:34--> | |||
[3] | [3] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 200: | Zeile 238: | ||
201907180000 | 201907180000 | ||
<!--T:35--> | |||
[4] | [4] | ||
#INPUT (String) | #INPUT (String) | ||
Zeile 211: | Zeile 250: | ||
..\Input\DWD.Radolan.OP\Cmd.StartProcessing.txt | ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.txt | ||
<!--T:36--> | |||
</pre> | </pre> | ||
<!--T:37--> | |||
Dieses File ist seinerseits wieder ein Input-File für die TaskServer Task SetDate, mit der das Datum dann in weiteren Template-Dateien ausgetauscht werden kann, die ihrereseits wieder Input-Files für z.B. den Download von Daten eines bestimmten Datums sind. | Dieses File ist seinerseits wieder ein Input-File für die TaskServer Task SetDate, mit der das Datum dann in weiteren Template-Dateien ausgetauscht werden kann, die ihrereseits wieder Input-Files für z.B. den Download von Daten eines bestimmten Datums sind. | ||
</translate> |
Aktuelle Version vom 23. September 2020, 15:37 Uhr
Der TaskServer kann das SydroCmd-tool aufrufen und dadurch seine Funktionalität noch deutlich erweitern. Insbesondere kann das SydroCmd-tool Datumsangaben verarbeiten, das aktuelle Datum abrufen und in Dateien ersetzen und Dateien aus dem Internet runterladen. Für den operationellen Einsatz ist es daher unerlässlich.
Für den Aufruf des SydroCmd-tools wird der TaskServer-Job Command line (CMD
) genutzt.
Wie für den normalen Ablauf einer TaskServer-Auswertung müssen die TaskServer template-Datei, die Input-Datei und die task-Datei vorbereitet werden. Die Attribute für den Job im Template-File sind Command=SydroCmd
, sowie der Befehl, der mit dem SydroCmd-tool ausgeführt werden soll und alle dafür benötigten Argumente mit den Schlüsselwörtern Arg1=
, Arg2=
usw.
Beispiel
Beispiel für eine Template Datei Cmd.Replace.tpl
:
#======================= #Template #======================= [JOBS] CountJobs=1 #ID;aktiv 0/1;RUNMODE 0=LoopInput, 1=MergeInput; Identifier;Mode;Beschreibung 1;1;0;CmdSetDate;CMD;Executes a command line [VARIABLES] CountVariables=4 #ID;Typ;DataType;Beschreibung (nur "INP" und "OUT" müssen mit Eingaben belegt sein) 1;INPUT;STRING;Key 2;INPUT;STRING;sourcefile 3;INPUT;STRING;Date to be set, yyyymmddhhmm 4;INPUT;STRING;targetfile [CmdSetDate] Key=%1 Command=SydroCmd Arg1=-replace Arg2=%2 Arg3=DATE Arg4=%3 Arg5=%4
Im Bereich, in dem die Attribute für den Job festgelegt werden [CmdSetDate]
, wird mit dem Attribut Command
angegeben, dass das Programm SydroCmd
aufgerufen werden soll. Beim ersten Attribut Arg1
wird der Schlüssel des Befehls eingegeben, den das SydroCmd-tool ausführen soll (hier: -replace) (s. auch Anwendung des SydroCmd-tools). Die weiteren Attribute sind die Argumente, die der Befehl braucht, ggf. als Variablen (vorher definiert im Bereich [VARIABLES]
.
Beispiel für eine Input-Datei Cmd.StartDownload.tpl
:
#======================= #INPUT #======================= [INPUT] Count=1 First=1 Last=1 [1] #INPUT (String) Name=Key Set current date to specific input files [2] #INPUT (String) Name=sourcefile ..\Input\DWD.Radolan.OP\Cmd.SetDate.Template.txt [3] #INPUT (String) Name=date yyyymmddhhmm Now [4] #INPUT (String) Name=targetfile ..\Input\DWD.Radolan.OP\Cmd.SetDate.txt
In dem Input-File werden die Variablen gefüllt, die in dem Template-File definiert wurden. Die dritte Variable date
ist in diesem Fall nicht mit einem Datum im Datumsformat yyyymmddhhmm angegeben, sondern durch das Schlüssenwort Now
.
Mit der Task, die dieses Template und dieses Input-File verknüpft, werden in der Datei Cmd.SetDate.Template.txt
also alle Stellen mit dem Schlüsselwort DATE
entsprechend ihrer Formatierungsangaben ausgehend vom aktuellen Datum ausgetauscht und in die Datei Cmd.SetDate.txt
geschrieben.
Beispiel für die Task-Datei Cmd.SetCurrentDate.tsk
:
#======================= #TASK #======================= [SETTINGS] ShowMsg=TRUE CountTask=1 [TASK1] Key=Set current date Name=Sets current date and adjusts input files according to the current date TemplateFile=..\Templates\Cmd.Replace.tpl Template=JOBS VariablesFile=..\Input\Cmd.StartDownload.txt
Beispiel für eine Quelldatei, in der das Datum ausgetauscht werden soll (Cmd.SetDate.Template.txt
):
#======================= #INPUT #======================= [INPUT] Count=7 First=1 Last=7 [1] #INPUT (String) Name=Key cmd.Init cmd.Download cmd.MoveResults cmd.UnzipResults cmd.CopyLog cmd.UnzipTarOneByOne cmd.StartProcessing [2] #INPUT (String) Name=sourcefile ..\Input\DWD.Radolan.OP\Cmd.Init.Template.txt ..\Input\DWD.Radolan.OP\Cmd.Download.Template.txt ..\Input\DWD.Radolan.OP\Cmd.MoveDownloads.Template.txt ..\Input\DWD.Radolan.OP\Cmd.UnzipResults.Template.txt ..\Input\DWD.Radolan.OP\Cmd.CopyLog.Template.txt ..\Input\DWD.Radolan.OP\Cmd.UnZipTarFullDay.Template.txt ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt [3] #INPUT (String) Name=date {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 {DATE|yyyyMMdd|-1,d}0000 [4] #INPUT (String) Name=targetfile ..\Input\DWD.Radolan.OP\Cmd.Init.txt ..\Input\DWD.Radolan.OP\Cmd.Download.txt ..\Input\DWD.Radolan.OP\Cmd.MoveDownloads.txt ..\Input\DWD.Radolan.OP\Cmd.UnzipResults.txt ..\Input\DWD.Radolan.OP\Cmd.CopyLog.txt ..\Input\DWD.Radolan.OP\Cmd.UnZipTarFullDay.txt ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.txt
Die Platzhalter für das Datum ist hier mit {DATE|yyyyMMdd|-1,d}0000
eingestellt, d.h. das einzugebende Datum (hier das aktuelle, z.B. 19.7.2019) abzüglich eines Tages im Format yyyyMMdd (also z.B. 20190718).
Beispiel für das zugehörige Output-File (Cmd.SetDate.txt
):
#======================= #INPUT #======================= [INPUT] Count=7 First=1 Last=7 [1] #INPUT (String) Name=Key cmd.Init cmd.Download cmd.MoveResults cmd.UnzipResults cmd.CopyLog cmd.UnzipTarOneByOne cmd.StartProcessing [2] #INPUT (String) Name=sourcefile ..\Input\DWD.Radolan.OP\Cmd.Init.Template.txt ..\Input\DWD.Radolan.OP\Cmd.Download.Template.txt ..\Input\DWD.Radolan.OP\Cmd.MoveDownloads.Template.txt ..\Input\DWD.Radolan.OP\Cmd.UnzipResults.Template.txt ..\Input\DWD.Radolan.OP\Cmd.CopyLog.Template.txt ..\Input\DWD.Radolan.OP\Cmd.UnZipTarFullDay.Template.txt ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.Template.txt [3] #INPUT (String) Name=date 201907180000 201907180000 201907180000 201907180000 201907180000 201907180000 201907180000 [4] #INPUT (String) Name=targetfile ..\Input\DWD.Radolan.OP\Cmd.Init.txt ..\Input\DWD.Radolan.OP\Cmd.Download.txt ..\Input\DWD.Radolan.OP\Cmd.MoveDownloads.txt ..\Input\DWD.Radolan.OP\Cmd.UnzipResults.txt ..\Input\DWD.Radolan.OP\Cmd.CopyLog.txt ..\Input\DWD.Radolan.OP\Cmd.UnZipTarFullDay.txt ..\Input\DWD.Radolan.OP\Cmd.StartProcessing.txt
Dieses File ist seinerseits wieder ein Input-File für die TaskServer Task SetDate, mit der das Datum dann in weiteren Template-Dateien ausgetauscht werden kann, die ihrereseits wieder Input-Files für z.B. den Download von Daten eines bestimmten Datums sind.