OPEN SOURCE - Job Scheduler - Quickstart

Job Scheduler
 
 
Job Scheduler - Quickstart
 

Der Job Scheduler ist installiert und jetzt möchten Sie wissen, wie es weiter geht?

Die folgenden Beispiele bieten einen schnellen Einstieg in die Verwendung des Job Schedulers. Um alle Features des Job Schedulers zu nutzen, empfehlen wir die Dokumentation zu lesen.

Alle Beispiele werden als einfache XML Dateien mit einem Editor Ihrer Wahl erzeugt. Eine Einführung in den Job Configuration Editor, der Ihnen das mühsame Eintippen von XML erspart, sowie weitere Beispiele finden Sie im Quickstart zur Einrichtung von Jobs.

Im folgenden verwendete relative Pfade beginnen im Installationsverzeichnis des Job Schedulers, das gleichzeitig das Arbeitsverzeichnis aller Jobs ist.

In den Beispielen wird das während des Setups angebotene Paket Managed Jobs nicht verwendet, sondern hot folders für dynamische Konfiguration, d.h. Sie können die Beispiele für Jobs in Dateien im Verzeichnis ./config/live kopieren.

Verwenden Sie bitte das Benennungsschema job_name.job.xml, wird z.B. ein Job mit dem Namen my_shell_script eingerichtet, dann lautet sein Pfad ./config/live/my_shell_script.job.xml. Sobald Sie die Job-Definition hinzufügen, entfernen oder ändern, wird sie sofort vom Job Scheduler mittels Verzeichnisüberwachung erkannt und angewendet.

Läuft der Job Scheduler auf localhost mit Port 4444, dann verwenden Sie bitte folgende URLs:

  • http://localhost:4444
    um Jobs zu kontrollieren, verwenden Sie bitte das Job Kontext-Menü mit den Operationen zum Starten und Stoppen von Jobs

  • http://localhost:4444/doc/de/index.xml
    um die Referenz-Dokumentation anzuzeigen, alternativ öffnen Sie die Datei
    ./config/html/doc/en/index.xml

 
 
 
 
top of page
 
 
Übersicht der Beispiele:
 
Präsentationen unter Verwendung des Managed Jobs Pakets:
 
 
 
top of page
 
 
Beispiel 1: Zeitgesteuertes Ausführen eines Shell-Skripts
Im Beispiel wird der Job my_shell_script werktags im Zeitraum 9-12h halbstündlich vom Job Scheduler automatisch gestartet. Darüber hinaus kann der Job im Zeitraum 8-20h manuell gestartet werden. Der Job führt das Shell-Skript ./jobs/my_shell_script.sh aus. Die Zeitsteuerung ist mit einer Verzeichnisüberwachung kombinierbar (siehe Beispiel 2).
 
Kopieren Sie dieses Beispiel in die Datei ./config/live/my_shell_script.job.xml:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell">
     <include file="jobs/my_shell_script.sh"/>
     <!-- for Windows use "jobs\my_shell_script.cmd" -->
   </script>
   <run_time begin = "08:00"
               end = "20:00">
     <weekdays>
       <day day="1">
         <period begin = "09:00" end = "12:00" repeat = "1800"/>       
       </day>
       <day day="2">
         <period begin = "09:00" end = "12:00" repeat = "1800"/>       
       </day>
       <day day="3">
         <period begin = "09:00" end = "12:00" repeat = "1800"/>       
       </day>
       <day day="4">
         <period begin = "09:00" end = "12:00" repeat = "1800"/>       
       </day>
       <day day="5">
         <period begin = "09:00" end = "12:00" repeat = "1800"/>       
       </day>
     </weekdays>
   </run_time>
</job>
                  
 
 
top of page
 
 
Beispiel 2: Ausführen eines Shell-Skripts per Verzeichnisüberwachung
In diesem Beispiel wird das Verzeichnis ./notification_dir überwacht. Sobald in diesem Verzeichnis eine Datei mit der Dateierweiterung .txt hinzugefügt oder gelöscht wird, wird der Job my_shell_script vom Job Scheduler automatisch gestartet. Darüber hinaus kann der Job manuell gestartet werden. Der Job führt das Shell-Skript ./jobs/my_shell_script.sh aus. Die Verzeichnisüberwachung ist mit einer Zeitsteuerung kombinierbar (siehe Beispiel 1).
 
Richten Sie ein Vezeichnis ./notification_dir ein und ändern Sie den Inhalt der Datei ./config/live/my_shell_script.job.xml wie folgt:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell">
     <include file="jobs/my_shell_script.sh"/>
     <!-- for Windows use "jobs\my_shell_script.cmd" -->
   </script>
   <start_when_directory_changed directory = "notification_dir"
                                     regex = "\.txt$"/>
   <run_time/>
</job>
                  
 
 
top of page
 
 
Beispiel 3: Ausführen eines PHP-Skripts
In diesem Beispiel wird der Job my_php_script manuell gestartet. Der Job führt das PHP Command Line Interface mit einem PHP-Skript Ihrer Wahl aus. Der Inhalt des Jobs ist in einem CDATA Element vorhanden, Sie müssen daher kein Shell-Skript oder eine Kommando-Datei erzeugen. Zur Zeitsteuerung und Verzeichnisüberwachung siehe Beispiel 1 und Beispiel 2.
 
Passen Sie den Pfad zum PHP-Interpreter und zum PHP-Skript an und kopieren Sie das Beispiel in die Datei ./config/live/my_php_script.job.xml:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell"><![CDATA[ 
     /usr/src/php-4.3.3/sapi/cli/php -f jobs/my_php_script.php
   ]]></script>
   <!-- for Windows use "c:\php\cli\php.exe" -->
   <run_time/>
</job>
                  
 
 
top of page
 
 
Beispiel 4: Programme gekoppelt ausführen
In diesem Beispiel wird mittels zweier Jobs um 3h nachts ein MySQL Windows Dienst neu gestartet. Der erste Job service_stop stoppt und der zweite Job service_start startet den Windows Dienst. Hierzu wird das Programm net.exe des Windows Betriebssystems verwendet, das im Unterverzeichnis system32 des Windows-Verzeichnisses liegt. Für den Pfad kann die Umgebungsvariable %windir% verwendet werden.
 
Kopieren Sie diesen Job in die Datei ./config/live/service_stop.job.xml:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell"><![CDATA[ 
     %windir%\system32\net.exe stop MySQL
   ]]></script>
   <run_time>
     <period single_start = "03:00"/>
   </run_time>
</job>
                  
Kopieren Sie diesen Job in die Datei ./config/live/service_start.job.xml:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell"><![CDATA[ 
     %windir%\system32\net.exe start MySQL
   ]]></script>
   <run_time>
     <period single_start = "03:02"/>
   </run_time>
</job>
                  
Anstatt beide Jobs über ein Zeitintervall von einigen Minuten zu koppeln, das in der Praxis funktionieren kann oder auch nicht, ist es die bessere Lösung für den Neustart des Dienstes, den zweiten Job automatisch zu starten, nachdem der erste Job erfolgreich beendet ist. Der zweite Job wird dazu als Folge-Job des ersten Jobs eingerichtet.
 
Kopieren Sie diesen Job in die Datei ./config/live/service_restart.job.xml:
 
<?xml version="1.0" encoding="iso-8859-1"?>
<job>
   <script language="shell"><![CDATA[ 
     %windir%\system32\net.exe stop MySQL
   ]]></script>
   <run_time>
     <period single_start = "03:00"/>
   </run_time>
   <commands on_exit_code="success">
     <start_job job="service_start"/>
   </commands>
</job>
                  
 
 
top of page
 
  Für weitere detaillierte Beispiele verwenden Sie bitte die folgenden Seiten:  
 
  Office Automation - Document Delivery - Job Scheduling - Systems Integration - Output Management - Enterprise Application Integration - Connectivity