Job Scheduler Erste Seite |
Beim Start des Scheduler geben Sie die Datei an, die die mit XML formulierte Konfiguration enthält.
Eine einfache Konfigurationsdatei mit einem Shell Job:
<?xml version="1.0"?>
<spooler>
<config>
<jobs>
<job name="hallo_welt">
<script language="shell"><![CDATA[
echo hallo welt
]]></script>
<run_time repeat="10"/>
</job>
</jobs>
</config>
</spooler> Konfiguriert ist hier der Job hallo_welt, den der Scheduler alle 10 Sekunden wiederholen wird.
Wenn diese Konfiguration in der Datei hallo_welt.xml abgelegt ist, können Sie den Scheduler so starten (für Windows):
…scheduler installation path…\bin\scheduler.exe -config=hallo_welt.xml
Ein gestarteter Scheduler kann mit Ctrl-C abgebrochen werden.
Alternativ können individuelle Konfigurationsdateien pro Job, Jobkette etc. gebildet werden, die nur die von diesem Objekt benötigten Elemente enthalten:
<?xml version="1.0">
<job>
<script language="shell"><![CDATA[
echo hallo welt
]]></script>
<run_time repeat="10"/>
</job>
Wenn diese Konfiguration in der Datei scheduler installation path/config/live/hallo_welt.job.xml abgelegt ist, wird sie automatisch von einem laufenden Job Scheduler verwendet:
<?xml encoding="UTF-8"?> und
<?xml encoding="ISO-8859-1"?> sind möglich.
Der Scheduler verarbeitet nur 8bit-Zeichen (ISO-8859-1).
Der Scheduler prüft die XML-Konfiguration gegen das XML-Schema des Schedulers. Beim Aufruf des Schedulers über die Kommandozeile können Sie sich das Schema mit der Option -show-xml-schema ausgeben lassen:
…installation path…\bin\scheduler.exe -show-xml-schema
Klicken Sie auf ein XML-Element, um dessen Beschreibung zu sehen.
<spooler>
<config central_configuration_directory = "…"
configuration_add_event = "…"
configuration_delete_event = "…"
configuration_directory = "…"
configuration_update_event = "…"
include_path = "…"
ip_address = "…"
java_class_path = "…"
java_options = "…"
log_dir = "…"
mail_xslt_stylesheet = "…"
param = "…"
port = "4444"
priority_max = "1000"
spooler_id = ""
supervisor = "hostname:4444"
tcp_port = "4444"
udp_port = "4444">
<base file="…"/>
<params>
<param name="…" value="…"/>
</params>
<security>
<allowed_host name="…" level="…"/>
…
</security>
<cluster heart_beat_own_timeout = "…"
heart_beat_timeout = "…"
heart_beat_warn_timeout = "…"/>
<process_classes ignore = "no">
<process_class max_processes = "…"
name = "…"
spooler_id = "…"/>
…
</process_classes>
<schedules>
<schedule name = "…"
substitute = "…"
valid_from = "…"
valid_to = "…"/>
…
</schedules>
<locks>
<lock name= "…" …/>
…
</locks>
<script com_class = "…"
filename = "…"
java_class = "…"
language = "…" >
<include file="…"/>
<![CDATA[
programm-code…
]]>
</script>
<http_server>
<http.authentication scheme="basic">
<http.users>
<http.user name="…" password_md5="…"/>
…
</http.users>
</http.authentication>
<http_directory path="…" url_path="…"/>
<web_service job_chain="…" url_path="…" …>
<params>
<param name="…" value="…"/>
…
</params>
</web_service>
…
</http_server>
<holidays>
<holiday date="…"/>
<include file="…"/>
<weekdays date="…"/>
</holidays>
<jobs>
<job
force_idle_timeout = "yes|no"
idle_timeout = "…"
ignore_signals = "…"
java_options = "…"
min_tasks = "…"
name = "…"
order = "no"
priority = "…"
process_class = "…"
spooler_id = "…"
stop_on_error = "yes"
tasks = "1"
temporary = "no"
timeout = "…"
title = "…"
visible = "yes"
>
<settings>
…
</settings>
<description> … </description>
<lock.use lock="…" …/>
<environment>
<variable name="…" value="…"/>
…
</environment>
<params>
<param name="…" value="…"/>
…
</params>
<script com_class = "…"
filename = "…"
java_class = "…"
language = "…" >
<include file="…"/>
<![CDATA[ programm-code… ]]>
</script>
oder
<process file = "…"
ignore_error = "no"
ignore_signal= "no"
log_file = ""
param = "" >
</process>
<monitor name = "…"
ordering = "…">
<script language="…" …>…<script/>
</monitor>
<start_when_directory_changed directory="…" regex="…" />
<delay_after_error delay="…" error_count="…" />
<delay_order_after_setback delay="…" is_maximum="yes|no"
setback_count="…" />
<run_time let_run="no">
<period begin = "00:00"
end = "24:00"
let_run = "…"
repeat = "…"
single_start = "…"
when_holiday = "…" />
<date date="yyyy-mm-dd"/>
…
<weekdays>
<day day="…">
<period …/>
…
</day>
…
</weekdays>
<monthdays>
<day day="…">
<period …/>
…
</day>
<weekday weekday="…" which="…">
<period …/>
…
</weekday>
…
</monthdays>
<ultimos>
<day day="…">
<period …/>
…
</day>
…
</ultimos>
<month month="…">
<period begin = "00:00"
end = "24:00"
let_run = "…"
repeat = "…"
single_start = "…" />
<weekdays>
<day day="…">
<period …/>
…
</day>
…
</weekdays>
<monthdays>
<day day="…">
<period …/>
…
</day>
<weekday weekday="…" which="…">
<period …/>
…
</weekday>
…
</monthdays>
<ultimos>
<day day="…">
<period …/>
…
</day>
…
</ultimos>
…
</month>
<holidays>
<holiday date="yyyy-mm-dd"/>
<include file="…"/>
…
</holidays>
<at at="yyyy-mm-dd HH:MM:SS"/>
</run_time>
<commands on_exit_code="…">
<start_job job="…" …>
<params>
<param name="…" value="…"/>
<copy_params from="task"/>
<copy_params from="order"/>
…
</params>
</start_job>
<add_order job_chain="…" …>
<params>
<param name="…" value="…"/>
<copy_params from="task"/>
<copy_params from="order"/>
…
</params>
</add_order>
…
</commands>
</job>
…
</jobs>
<job_chains>
<job_chain
distributed = "no"
name = "…"
orders_recoverable= "yes"
title = "…"
visible = "yes"
>
<file_order_source
delay_after_error = "…"
directory = "…"
max = "…"
next_state = "…"
regex = "…"
repeat = "…"
/>
…
<job_chain_node
delay = "…"
error_state = "…"
job = "…"
next_state = "…"
on_error = "suspend|resume"
state = "…"
/>
…
<file_order_sink
move_to = "…"
remove = "yes"
state = "…"
/>
…
</job_chain>
<job_chain name="…">
<job_chain_node.job_chain
job_chain = "…"
error_state = "…"
next_state = "…"
state = "…"
/>
…
<job_chain_node.end
state = "…"
/>
…
</job_chain>
…
</job_chains>
<commands>
…
</commands>
</config>
</spooler> Zuletzt geändert von Joacim Zschimmer, 2009-03-01 |