Revision a354dfce
Von Moritz Bunkus vor etwa 5 Jahren hinzugefügt
config/kivitendo.conf.default | ||
---|---|---|
189 | 189 |
debug = 0 |
190 | 190 |
# Chose a system user the daemon should run under when started as root. |
191 | 191 |
run_as = |
192 |
# Task servers can run on multiple machines. Each needs its own unique |
|
193 |
# ID. If unset, it defaults to the host name. All but one task server |
|
194 |
# must have 'only_run_tasks_for_this_node' set to 1. |
|
195 |
node_id = |
|
196 |
only_run_tasks_for_this_node = 0 |
|
192 | 197 |
|
193 | 198 |
[task_server/notify_on_failure] |
194 | 199 |
# If you want email notifications for failed jobs then set this to a |
Auch abrufbar als: Unified diff
Task-Server auf unterschiedlichen Maschinen laufen lassen können
Jede Task-Server-Instanz und jeder Hintergrundjob haben nun ein neues
Attribute »node_id«. Darüber kann gesteuert werden, dass bestimmte
Jobs nur von einer bestimmten Instanz ausgeführt werden.
Die »node_id« eines neu angelegten Jobs ist standardmäßig leer. Das
bedeutet, dass ein Job von einer beliebigen Task-Server-Instanz
ausgeführt werden kann.
Die »node_id« eines Task-Servers ist standardmäßig der Hostname (siehe
ausgabe von »perl -MSys::Hostname -le 'print hostname()'«), kann aber
in der Konfigurationsdatei überschrieben werden (»[task_server]« →
»node_id«).
Zusätzlich gibt es den Konfigurationsparameter »[task_server]« →
»only_run_tasks_for_this_node«. Ist dieser Parameter gesetzt, so führt
der Task-Server nur diejenigen Jobs aus, deren »node_id«-Feld mit der
»node_id« der Task-Server-Instanz übereinstimmt. Andernfalls werden
auch diejenigen Jobs ausgeführt, deren »node_id«-Feld leer ist.
Achtung: es findet momentan keinerlei Locking statt. Das bedeutet,
dass es für jede Datenbank nur eine Task-Server-Instanz geben darf,
bei der »only_run_tasks_for_this_node« nicht gesetzt ist. Für
Load-Balancing eignet sich das also bisher noch nicht.