As explained in this
this article, starting from WorldServer 11.1.1., the projects and tasks assignments are run by an engine called
STATS engine and are visible in the Background Jobs page as
Update assigned and claimed tasks. The STATS engine processes only one job at a time and it is not possible to increase the number of engines that process the
Update assigned and claimed tasks jobs. It is recommended that the STATS engine runs only on one server if you are working on a clustered environment.
The STATS engine runs despite any
background_daemon configuration in the general.properties file. If you work in a clustered environment, there will be a STATS engine running in each server. However, the main engine (Master) will be run by the server where the Idiom service (WorldServer) is started
first.
So if you have a preferred server from which you want assignment jobs to be run, follow these steps:
1- Stop the Idiom Service on all machines belonging to your clustered environment
2- Start the Idiom Service on the preferred machine/server.
3- Wait at least 900 seconds (15 minutes). This is the time needed for the "heartbeat" of the previously assigned server engine to signal a failing heartbeat. After 900 seconds/15 minutes, the only running WorldServer/Idiom services will become the "Master" engine. If you have assignments jobs executing or on Queue in the Background Job, you should be able to see that the preferred server engine starts to run the jobs after around 15 minutes. Note: if you do not wait long enough and start the Idiom service on the next server, the machine running the STATS engine will continue to run it because WorldServer has not detected a failing heartbeat and hence will continue to assign the STATS engine to the previous server.
4- Now you can start the Idiom service on the remaining servers/machines (with the exception of the FTS-only machines, if present)
Should the main engine (from the first server started) fail to send a heartbeat (for whatever reason) the engine placed on the second started server will take over.
You cannot prevent the STATS engine from running on a specific server in a clustered environment in general (unless you stop the Idiom Service on that server), but you can follow the method above to give precedence to a specific preferred server.