﻿<?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  = "JobSchedulerCleanupHistory"
       title = "Cleanup log entries in the Job Scheduler history"
       order = "no"
       tasks = "1">
    <script language   = "java"
            java_class = "sos.scheduler.job.JobSchedulerCleanupHistory"
            resource   = "1"/>
  </job>

  <releases>
    <release id="1.0" created="2006-03-30" modified="2006-03-30">
      <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">
        Implementierung mit SOSConnection und hostWare.
        </div>
      </changes>
      <changes language="en">
        <div xmlns="http://www.w3.org/1999/xhtml">
        Implementation with SOSConnection and hostWare.
        </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>
    <file os="all" type="java" file="sos.util.jar" id="3">
      <note language="de"><div xmlns="http://www.w3.org/1999/xhtml">Klasse SOSLogger</div></note>
      <note language="en"><div xmlns="http://www.w3.org/1999/xhtml">Class SOSLogger</div></note>
    </file>
    <file os="all" type="java" file="sos.settings.jar" id="4">
      <note language="de"><div xmlns="http://www.w3.org/1999/xhtml">Klasse SOSProfileSettings</div></note>
      <note language="en"><div xmlns="http://www.w3.org/1999/xhtml">Class SOSProfileSettings</div></note>
    </file>
    <file os="win32"     type="binary" file="hostole.dll"    id="5"/>
    <file os="win32"     type="binary" file="hostjava.dll"   id="6"/>
    <file os="linux32"   type="binary" file="libhostole.so"  id="7"/>
    <file os="linux32"   type="binary" file="libhostjava.so" id="8"/>
    <file os="solaris32" type="binary" file="libhostole.so"  id="9"/>
    <file os="solaris32" type="binary" file="libhostjava.so" id="10"/>
    <file os="hpux64"    type="binary" file="libhostjava.sl" id="11"/>

    <database required="true">
      <resource name="SCHEDULER_HISTORY" type="table">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Die Tabelle nimmt die Historie und Protokolle der Jobs im Scheduler auf.
            Der Job reduziert die Protokolle in der Tabelle.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This table contains the history and log files of jobs carried out by the Job Scheduler.
            This job shrinks the log files in this table.
          </div>
        </note>
      </resource>
      <resource name="SCHEDULER_ORDER_HISTORY" type="table">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Die Tabelle nimmt die Historie und Protokolle der Aufträge im Scheduler auf.
            Der Job reduziert die Protokolle in der Tabelle.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This table contains the history and log files of orders carried out by the Job Scheduler.
            This job shrinks the log files in this table.
          </div>
        </note>
      </resource>
    </database>
  </resources>

  <configuration>
    <params id="job_parameter">
      <param name="cleanup_history_interval" default_value="7" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt die Anzahl Tage vor dem Tagesdatum bis zu dem Protokolle reduziert werden.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the number of days which log files can remain in the database before being shrunk.
          </div>
        </note>
      </param>

      <param name="delete_history_interval" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt das Mindestalter (in Tagen) für History und Order History Einträge, die gelöscht werden sollen.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the minumum age (in days) for history and order history entries which will be deleted.
          </div>
        </note>
      </param>
      
      <param name="cleanup_history_table" default_value="SCHEDULER_HISTORY" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt den Namen der Tabelle des Job Schedulers für die Historie der Jobs.
            <br/><br/>
            Fehlt der Parameter, dann wird der Tabellenname der aktuellen Konfiguration des Job Schedulers entnommen.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the tablename used by the Job Scheduler for job history entries.
            <br/><br/>
            If this parameter is not specified, then the tablename from the current Job Scheduler configuration is used.
          </div>
        </note>
      </param>

      <param name="cleanup_order_history_table" default_value="SCHEDULER_ORDER_HISTORY" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt den Namen der Tabelle des Job Schedulers für die Historie von Aufträgen.
            <br/><br/>
            Fehlt der Parameter, dann wird der Tabellenname der aktuellen Konfiguration des Job Schedulers entnommen.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the tablename used by the Job Scheduler for order history entries.
            <br/><br/>
            If this parameter is not specified, then the tablename from the current Job Scheduler configuration is used.
          </div>
        </note>
      </param>

      <param name="cleanup_history_date_from" default_value="" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt das Datum, ab dem Historieneinträge verarbeitet werden.
            Der Parameter hat Vorrang vor dem Parameter <em>cleanup_history_interval</em>.
            <br/><br/>
            Fehlt der Parameter, dann wird der Wert des Parameters <em>cleanup_history_interval</em>
            verwendet, um das Datum zu bestimmen, ab dem Historieneinträge verarbeitet werden.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the date from which history entries are to be processed.
            This parameter has precedence over the <em>cleanup_history_interval</em> parameter.
            <br/><br/>
            If this parameter is empty, then the parameter <em>cleanup_history_interval</em> is used
            to specify the minimum date for history entries to be processed.
          </div>
        </note>
      </param>

      <param name="cleanup_history_date_to" default_value="" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt das Datum, bis zu dem Historieneinträge verarbeitet werden.
            Der Parameter hat Vorrang vor dem Parameter <em>cleanup_history_interval</em>.
            <br/><br/>
            Fehlt der Parameter, dann werden die Historieneinträge bis zum Tagesdatum verarbeitet.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the date up to which history entries are to be processed.
            This parameter has precedence over the <em>cleanup_history_interval</em> parameter.
            <br/><br/>
            If this parameter is not specified, then the history entries are processed up to the current date.
          </div>
        </note>
      </param>

      <param name="cleanup_history_task_id" default_value="" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt die ID der Task, für die der Historieneintrag verarbeitet wird.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the task ID for which the history entry is to be processed.
          </div>
        </note>
      </param>

      <param name="cleanup_history_order_id" default_value="" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt die Kennung des Auftrags, für den der Historieneintrag verarbeitet wird.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the order ID for which the history entry is to be processed.
          </div>
        </note>
      </param>

      <param name="cleanup_history_log_level" default_value="0" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt den Log Level, bis zu dem Historieneinträge reduziert werden.
            Protokolleinträge, die diesen Wert überschreiten, werden aus dem Protokoll entfernt.
            Log Level sind wie folgt organisiert:
            <br/><br/>
            <ul>
              <li>0 (info): Meldung</li>
              <li>1 (debug): Debugging</li>
              <li>...</li>
              <li>9 (debug): Debugging</li>
            </ul>
            Protokolleinträge der Level <em>Warning</em> und <em>Error</em> können nicht reduziert werden.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies the log level up to which history entries are to be shrunk.
            Log entries that exceed this level will be removed from the log entry.
            The following log levels can be used for this parameter:
            <br/><br/>
            <ul>
              <li>0 (info): Message</li>
              <li>1 (debug): Debugging</li>
              <li>...</li>
              <li>9 (debug): Debugging</li>
            </ul>
            Log entries with <em>Warning</em> and <em>Error</em> levels cannot be shrunk.
          </div>
        </note>
      </param>

      <param name="cleanup_history_log_compressed" default_value="true" required="false">
        <note language="de">
          <div xmlns="http://www.w3.org/1999/xhtml">
            Der Parameter bestimmt, ob komprimierte oder unkomprimierte Protokolleinträge in der Datenbank verarbeitet werden.
            Ob Protokolleinträge komprimiert werden, wird in der Konfigurationsdatei <code>factory.ini</code> mit
            dem Eintrag <code>history_with_log</code> für die Historientabelle von Jobs und mit
            dem Eintrag <code>order_history_with_log</code> für die Historientabelle von Aufträgen festgelegt.
          </div>
        </note>
        <note language="en">
          <div xmlns="http://www.w3.org/1999/xhtml">
            This parameter specifies whether the log entries that are to be shrunk are compressed or not.
            Compression of log entries is configured in the <code>factory.ini</code> file using the 
            <code>history_with_log</code> parameter for the job history table and 
            <code>order_history_with_log</code> for the order history table.
          </div>
        </note>
      </param>
    </params>
  </configuration>

  <documentation language="de">
    <div xmlns="http://www.w3.org/1999/xhtml">
      Sie sollten diesen Job verwenden, wenn Sie Jobs mit höheren Log Leveln ablaufen lassen:
      der Job entfernt alle Zeilen aus dem Protokoll in der Datenbank, die über der
      mit dem Parameter <em>cleanup_history_log_level</em> angegebenen Protokollierungsstufe liegen.
      <br/><br/>
      Bei langlaufenden Jobs können je nach Implementierung der Protokollierung große Protokolldateien
      entstehen, die vom Job Scheduler in der Datenbank gespeichert werden. Protokolle werde als BLOBs
      gespeichert und sind daher in einigen Datenbanksystemen nur schwer in ihrer Größe nachvollziehbar.
      Die ungewollte Zunahme der Größen von Tablespaces in der Datenbank kann als Folge hoher Log Level auftreten.
    </div>
  </documentation>

  <documentation language="en">
    <div xmlns="http://www.w3.org/1999/xhtml">
      This job should be used when running jobs with high log levels:
      it removes individual rows from log entries in the database, 
      should the log level of these entries exceed the value specified with the parameter <em>cleanup_history_log_level</em>.
      <br/><br/>
      If jobs have been running for some time and are configured for higher log levels, 
      then this may result in the creation of large log files which the Job Scheduler then automatically stores in the database.
      These log files are stored as BLOB columns and are therefore rather hard to track in some database systems.
      Exhaustive tablespace usage in the database might therefore be a consequence of the use of higher log levels.
    </div>
  </documentation>

</description>