Skip to content

Standards für Windows Scheduled Tasks (de: Aufgabenplanung)

Wichtige Punkte zum Beachten:

  • Wenn keine Freigabe Rechte auf anderen Servern benötigt werden, dann können die Scheduled Tasks als SYSTEM laufen. Ansonsten mit einem User, der die notwendigen Rechte für die Freigabe hat.
  • Produktive Jobs sollten nicht mit --verbose gestartet werden!
  • Wenn alle Jobs im Task Scheduler zur selben Zeit gestartet werden, führt dies zu Spitzen in der Systemauslastung. Es ist daher ratsam, die Jobs hintereinander mit einigen Sekunden bzw. Minuten Abstand zu starten.

Das Tool overview ermöglicht es, die Scheduled Tasks auszuwerten und graphisch darzustellen.

Ordnerstruktur

Falls möglich, sollte der Task-Name jenem der verwendeten INI-Datei entsprechen. Im Ordner TBBM der Scheduled Tasks befinden sich folgenden Unterordner:

  • conv (alle Konverter mit Jobname = conv_$NAME, alle Optimizer mit Jobname = convand_optimizer$NAME`)
  • export (alle Exporter mit Jobname = export_$NAME)
  • FTP_in bzw. SFTP_in (alle FTP und SFTP Abholungen mit Jobname = FTP_in_$NAME bzw. SFTP_in_$NAME)
  • FTP_out bzw. SFTP_out (alle FTP und SFTP Versendungen mit Jobname = FTP_out_$NAME zw. SFTP_out_$NAME)
  • grafiken (TBBM-Grafikerstellung)
  • hwe (TBBM-Handeingabe)
  • scripts (für Kundenspezifische Scripts, die in keine der Kategorie oben passen)
  • wartung (Wartungsjobs, wie löschen von alten Log-Dateien, optimieren von Archiven, Packen von Archiven...)
  • web_in (alle Abholungen von URLs mit Jobname = web_in_$NAME)

Automatisches Erstellen eines Tasks

Mit folgendem Befehl kann eine XML-Datei zum Import in dem Windows Task Scheduler erstellt werden:

powershell
> python prozessing.pyz --schtasks ini\conv_gprssommer.ini
# INFO - Writing ini\conv_gprssommer.xml for ini\conv_gprssommer.ini
xml
<!-- ini\conv_gprssommer.xml -->
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <Triggers>
    <CalendarTrigger>
      <Repetition>
        <Interval>PT1M</Interval>
        <Duration>PT23H59M</Duration>
        <StopAtDurationEnd>false</StopAtDurationEnd>
      </Repetition>
      <StartBoundary>2000-01-01T00:00:55</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Actions Context="Author">
    <Exec>
      <Command>D:\TBBM\python\python.exe</Command>
      <Arguments>prozessing.pyz ini\conv_gprssommer.ini</Arguments>
      <WorkingDirectory>D:\TBBM\PROZESSING</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

Erstellen eines Tasks

Erstellen eines neues Tasks mit den folgenden Vorgaben:

  • Daten im gprssommer-Format für SNOWPACK-Modellierung
  • Job wird täglich gestartet und läuft jede Minute
  • INI-Datei unter D:\TBBM\PROZESSING\ini\ini_gprssommer.ini

Öffnen der Scheduled Tasks unter Windows: nach Aufgabeplanung oder Task-Manager suchen

  1. Neue Aufgabe in Ordner TBBM\conv hinzufügen

    • ggFalls zuvor einen neuen Ordner TBBM im Task Scheduler Baum anlegen
  2. Allgemein

    • Name: Möglichst nach Namensschema -> conv_gprssommer
    • Beschreibung: "Abholung und Konvertierung für SNOWPACK-Modellierung"
    • Benutzer oder Gruppe ändern auf einen: task_user der task_user, unter dem der Task Prozess dann läuft sollte so wenig wie möglich Rechte haben, z.b. nur Lese/Schreib Rechte auf D:\Daten)
    • "Unabhängig von der Benutzeranmeldung ausführen" aktivieren
    • Beim Speichern bzw. bestätigen mit OK Kennwort des task_user eingeben
  3. Trigger

    • Einstellungen: Täglich (Achtung Uhrzeit so wählen, dass nicht alle Jobs zur selben Zeit starten), Wiederholung alle 1 Tage
    • Erweiterte Einstellungen: Wiederholung jede Minute für die Dauer von 23:59 (oder 1439 Minuten)
  4. Aktionen:

    • Programm/Skript: D:\TBBM\python\python.exe
    • Argumente hinzufügen: prozessing.pyz ini\conv_gprssommer.ini
    • Starten in: D:\TBBM\PROZESSING

    Falls keine Partition mit Laufwerkbuchstabe D:\ am Windows Server vorhanden ist, dann ist obige Anleitung sinngemäß auf C:\ oder andere Laufwerksbuchstaben anzuwenden