﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="scheduler.xsl" type="text/xsl"?>

<!--$Id: datenbank.xml 3623 2005-04-20 06:53:16Z jz $-->

<description 
    title               = "Database" 
    base_dir            = ""
    author              = "$Author: ap $"
    date                = "$Date: 2007-09-30 18:47:01 +0200 (So, 30 Sep 2007) $"
>

    <scheduler_keyword keyword="Database"/>
    <scheduler_keyword keyword="Data base"/>
    <scheduler_keyword keyword="History"/>
<!--<scheduler_keyword keyword="Datenbank"/>
    <scheduler_keyword keyword="Historie"/>-->

<p>
    The Job Scheduler can be used either with or without a database. 
    Operation with a database has the following advantages:
<!--Der Job Scheduler kann mit und ohne Datenbank betrieben werden. Der Betrieb mit Datenbank hat folgende Vorteile:-->
</p>

<dl>
    <dt>Task Queue</dt>
<!--<dt>Task-Warteschlange</dt>-->
    <dd>
        The Job Scheduler stores all queued tasks in a table 
        under its scheduler ID (Option <scheduler_option name="id"/>).
        When the Job Scheduler restarts, then all queued tasks are reread from the database.
    <!--Der Job Scheduler speichert die in den Warteschlangen eingereihten Tasks in einer Tabelle
        unter seiner Scheduler-ID (Option <scheduler_option name="id"/>).
        Sobald der Job Scheduler erneut startet, liest er die Warteschlange aus der Datenbank.-->
    </dd>
    
    <dt>Orders</dt>
<!--<dt>Aufträge</dt>-->
    <dd>
        The Job Scheduler saves every order in a database table
        with the scheduler ID (Option <scheduler_option name="id"/>).
        When the Job Scheduler restarts, it rereads the orders from the database.
    <!--Der Job Scheduler speichert jeden Auftrag in einer Tabelle 
        unter seiner Scheduler-ID (Option <scheduler_option name="id"/>).
        Sobald der Job Scheduler erneut startet, liest er die Aufträge aus der Datenbank.-->
    </dd>
    
    <dt>Task History</dt>
<!--<dt>Task-Historie</dt>-->
    <dd>
        The Job Scheduler records information about every task performed, 
        apart from the Job Scheduler start and stop.
    <!--Für jede Task schreibt der Job Scheduler einen Satz, 
        außerdem bei Start und Ende des Job Schedulers.-->
    </dd>
    
    <dt>Instruction History</dt>
<!--<dt>Auftragshistorie</dt>-->
    <dd>
        The Job Scheduler records the course of every operation in the job stream in the instruction history.
    <!--Der Job Scheduler hält den Lauf der Aufträge durch die Job-Ketten in der Auftragshistorie fest.-->
    </dd>
</dl>

<p>
    Further information about the instruction history can be found here:
    <a href="history.xml">Job History</a>.
<!--<a href="history.xml">Hier lesen Sie weiteres zur Historie</a>.-->
</p>

<p>
    The creation of the database tables is described in
<!--Wie die Tabellen angelegt werden, steht hier:-->
    <scheduler_a href="scheduler_sql.xml" quote="yes"/>.
</p>



		<h2>Settings</h2>
<!--<h2>Einstellungen</h2>-->

<dl>
    <dt>Database and Error Handling</dt>
<!--<dt>Datenbank und Fehlerbehandlung</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="need_db"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="max_db_errors"/><br/>
    </dd>
        
    <scheduler_keyword keyword="Table (database)"/>
<!--<scheduler_keyword keyword="Tabelle (Datenbank)"/>-->
    <dt>Table Names</dt>
<!--<dt>Die Namen der Tabellen</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db_variables_table"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db_tasks_table"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db_orders_table"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db_history_table"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="db_order_history_table"/><br/>
    </dd>
    
    <dt>Should a History be Written?</dt>
<!--<dt>Ob eine Historie geschrieben werden soll</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="history"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="order_history"/><br/>
        <scheduler_ini_entry file="factory.ini" section="job" entry="history"/><br/>
    </dd>
    
    <scheduler_keyword keyword="Protocol"/>
    <dt>Should Protocols be Included in the History?</dt>
<!--<dt>Ob die Protokolle in der Historie aufgenommen werden sollen</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="history_with_log"/><br/>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="order_history_with_log"/><br/>
        <scheduler_ini_entry file="factory.ini" section="job" entry="history_with_log"/><br/>
    </dd>
    
    <dt>The Addition of Custom Columns in the Task History</dt>
<!--<dt>Der Task-Historie können Sie eigene Spalten hinzufügen</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="history_columns"/><br/>
        <scheduler_ini_entry file="factory.ini" section="job" entry="history_columns"/><br/>
        <scheduler_method class="Task" method="set_history_field" java_signature="java.lang.String, java.lang.String"/>
    </dd>
    
    <dt>The Conditions for an Entry in the Task History</dt>
<!--<dt>Die Bedingungen für einen Eintrag in die Task-Historie</dt>-->
    <dd>
        <scheduler_ini_entry file="factory.ini" section="spooler" entry="history_on_process"/><br/>
    </dd>
</dl>


		<h2>Application Programming Interface</h2>
<!--<h2>Programmschnittstelle</h2>-->
<dl>
    <dt>The spooler object initializes table names</dt>
<!--<dt>Das Objekt spooler stellt die Tabellennamen bereit</dt>-->
    <dd>
        <scheduler_method class="Spooler" method="db_variables_table_name"/><br/>
        <scheduler_method class="Spooler" method="db_tasks_table_name"/><br/>
        <scheduler_method class="Spooler" method="db_orders_table_name"/><br/>
        <scheduler_method class="Spooler" method="db_history_table_name"/><br/>
        <scheduler_method class="Spooler" method="db_order_history_table_name"/><br/>
    </dd>
    
    <dt>Describe history fields (<scheduler_ini_entry file="factory.ini" section="job" entry="history_columns"/>)</dt>
<!--<dt>Eigene Felder der Historie beschreiben (<scheduler_ini_entry file="factory.ini" section="job" entry="history_columns"/>)</dt>-->
    <dd>
        <scheduler_method class="Task" method="set_history_field" java_signature="java.lang.String, java.lang.String"/>
    </dd>
</dl>


		<h2>Commands</h2>
<!--<h2>Kommandos</h2>-->
<dl>
    <dt>Show History</dt>
<!--<dt>Historie zeigen</dt>-->
    <dd>
        Command <scheduler_element name="show_history"/><br/>
        Command <scheduler_element name="show_task"/><br/>
        Command <scheduler_element name="show_order"/><br/>
    <!--Kommando <scheduler_element name="show_history"/><br/>
        Kommando <scheduler_element name="show_task"/><br/>
        Kommando <scheduler_element name="show_order"/><br/>-->
    </dd>
</dl>


		<h2>Error-Tolerance</h2>
<!--<h2>Fehlertoleranz</h2>-->
<p>
    
    The Job Scheduler tolerates database errors and 
    can carry out routine operations with a temporarily unavailable database.
    More detailed information can be found in <scheduler_ini_entry file="factory.ini" section="spooler" entry="need_db"/>.
<!--Der Job Scheduler toleriert Datenbankfehler. 
    Dadurch kann er mit einer vorübergehend heruntergefahrenen Datenbank umgehen.
    Näheres hierzu finden sie hier: <scheduler_ini_entry file="factory.ini" section="spooler" entry="need_db"/>.-->
</p>
<p>
    The Job Scheduler can be set to wait for a reconnection in the event of loss of contact with the database.
    In this situation, only commands other than TCP or HTTP are processed;
    The Job Scheduler cannot be shut down, only terminated
    (see <a href="termination.xml">Termination</a>).
<!--Wenn eingestellt ist, dass der Job Scheduler nach Verbindungsverlust auf eine erneute Verbindung zur Datenbank warten soll,
    hält der Job Scheduler solange an.
    Nur Kommandos über TCP oder HTTP verarbeitet er.
    Er kann nicht beendet werden, nur abgebrochen werden (s. <a href="termination.xml">Beendigung</a>).-->
</p>


</description>
