From: Moritz Bunkus Date: Fri, 23 Aug 2019 09:17:39 +0000 (+0200) Subject: Task-Server auf unterschiedlichen Maschinen laufen lassen können X-Git-Tag: release-3.5.6.1~514 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/a354dfceab313ce89c8739fdb3243183f2bbefbe?hp=a354dfceab313ce89c8739fdb3243183f2bbefbe 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. ---