﻿<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="scheduler_job_documentation.xsl"?>
<description xmlns="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0 http://www.sos-berlin.com/schema/scheduler_job_documentation_v1.0.xsd">

  <job name  = "JobSchedulerRestart"
       title = "Restart Job Scheduler"
       order = "no"
       tasks = "1">
    <script language   = "java"
            java_class = "sos.scheduler.job.JobSchedulerRestart"
            resource   = "1">
    </script>
  </job>

  <releases>
    <release id="1.0" created="2006-02-20" modified="2006-02-21">
      <title>Version 1.0</title>
      <author name="Andreas Püschel" email="andreas.pueschel@sos-berlin.com"/>
      <note language="de"><div xmlns="http://www.w3.org/1999/xhtml">Initiale Auslieferung</div></note>
      <note language="en"><div xmlns="http://www.w3.org/1999/xhtml">Initial release</div></note>
      <changes language="de"><div xmlns="http://www.w3.org/1999/xhtml">Default-Timeout für das Beenden laufender Jobs wird berücksichtigt</div></changes>
      <changes language="en"><div xmlns="http://www.w3.org/1999/xhtml">Default timeout value for running jobs is considered before tasks are killed.</div></changes>
    </release>
  </releases>

  <resources>
    <file os="all" type="java" file="sos.scheduler.jar" id="1">
      <note language="de"><div xmlns="http://www.w3.org/1999/xhtml">Standard-Job der Auslieferung</div></note>
      <note language="en"><div xmlns="http://www.w3.org/1999/xhtml">Standard job in distribution</div></note>
    </file>
    <file os="all" type="java" file="sos.spooler.jar" id="2">
      <note language="de"><div xmlns="http://www.w3.org/1999/xhtml">Klasse Job_Impl</div></note>
      <note language="en"><div xmlns="http://www.w3.org/1999/xhtml">Class Job_Impl</div></note>
    </file>
  </resources>

  <configuration>
    <params id="job_parameter">
      <param name="timeout" default_value="600" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter benennt den Timeout in Sekunden, für den der Job Scheduler auf
            laufende Jobs wartet. Nach Überschreiten des Timeouts werden laufende Jobs beendet.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the timeout in seconds which the Job Scheduler waits for jobs to terminate. 
            If this value is exceeded then any jobs still running are terminated.
          </div>
        </note>
      </param>
    </params>
  </configuration>

  <documentation language="de">
    <div xmlns="http://www.w3.org/1999/xhtml">
      Der Job Scheduler kann manuell veranlasst oder automatisiert zu einem vorgewählten Zeitpunkt neu gestartet werden.
      <br/><br/>
      Der Neustart erfolgt erst, wenn
      <br/><br/>
      <ul>
        <li>keine Jobs in Verarbeitung sind</li>
        <li>keine Jobs in eine Warteschlange eingereiht sind, die erst zu einem späteren Zeitpunkt starten</li>
        <li>keine Aufträge für auftragsgesteuerte Jobs vorhanden sind.</li>
        <li>oder das mit dem Parameter <em>timeout</em> spezifizierte Zeitintervall abgelaufen ist.</li>
      </ul>
      Der Job Scheduler benötigt im Normalfall keinen regelmäßigen Neustart, es kann aber aufgrund individueller Jobs
      sinnvoll sein, den Job Scheduler intervallgesteuert neu zu starten, um sicherzustellen, dass alle
      Systemressourcen (Hauptspeicher, File Handles, TCP Handles etc.) von allen Jobs vollständig freigegeben wurden.
    </div>
  </documentation>

  <documentation language="en">
    <div xmlns="http://www.w3.org/1999/xhtml">
      The Job Scheduler can either be manually restarted or automatically at a predefined time.
      <br/><br/>
      A restart will not take place until
      <br/><br/>
      <ul>
        <li>no more jobs are being processed</li>
        <li>no more jobs are waiting in a queue</li>
        <li>no more orders for order jobs are left</li>
        <li>or the interval that is specified with the parameter <em>timeout</em> is exceeded.</li>
      </ul>
      The Job Scheduler itself does not need regular restarts. 
      Nonetheless, because of the makeup of some jobs it may be necessary to carry our restarts in order to ensure that 
      all system resources such as memory, file handles, tcp handles etc. are returned.
    </div>
  </documentation>
</description>
