About multi-server configuration

Preface

Many of our customers rely on the availability of the Pixometry process for their daily production. Service outages can be very problematic. At the same time, many of our customers process large volumes of images and rely on multiple Pixometry servers to do the job.

In a centralized production environment, customers ideally rely on multiple Pixometry servers, operating as one : a pool of Pixometry servers, with a simple configuration, totally transparent for the end-users,
where processes run uninterrupted, even if one of the Pixometry servers has a service outage.

The minimum configuration consists of two Pixometry Server licenses. Further licenses can be added. They are installed on different servers. Through an identical configuration file on all Pixometry servers, the Pixometry instances are made aware of each other.
The configuration file also contains a path to a volume that resides on a fileserver, not being one of the Pixometry servers. We assume that access to the volume on the file-server is guaranteed, the configuration of which is outside the scope of the Pixometry software. All hot-folders as well as folders used for temporary storage of files are on this file-server volume.

Pixometry instances connect to each other using port 7900. This port must not be blocked by a firewall. The Pixometry instance that starts first automatically assumes the role of coordinator. The coordinator assigns jobs to itself and the other instances. If the coordinator is stopped, one of the other instances automatically assumes the role of coordinator. 

Note: the instance that was the last one to be shut down has the most recent database. It therefore makes sense to start that instance first, before the other ones. If an instance with an "older" database starts first and assumes the role of coordinator, that database will be distributed to the other instances. So if channel settings have been adjusted in the meantime, they might get lost. 

It does not matter to which instance you connect, whether it be with the user-interface, Photoshop Inspector, Indesign JobClient or your own client that connects to Pixometry’s web-services interface.
Jobs (whether placed in one of the hot-folders or offered via a web- services call to one of the Pixometry instances) will be processed by the Pixometry instance to which the coordinator assigns it. 

If a Pixometry instance fails, assigned files will be released and processed by one of the other Pixometry instances.

Technical

Configuration file: ‘ClaroServers.conf’

Can be found in folder ‘conf’ (in the Pixometry installation folder) on each Pixometry server and must be identical on all instances. 

Contents (lines starting with # are comment lines):

#list with servernames, default on port 8443

#other portnumbers can be configured optionally

serverlist=<srv_name1>(:<portnr>),<srv_name2>(:<portnr>),...

#unlock timeout for files in seconds (default 600)

unlocktimeout=<time in seconds>

#remote folder for configuration storage and temporary files

network_storage_folder=<remote folder name>

#general log for all servers in #<network_storage_folder>/log/ClaroServers.log

#network_log=[on|off] #number of network wrap logfiles (default 10) network_log_files=<nr> #number of bytes per logfile (default 10000000 bytes) network_log_bytes=<n>

Example:

#list with servernames

serverlist=claro_server1,claro_server2:8181,claro_server3

#unlock timeout for files in seconds (default 600)

unlocktimeout=600

#remote folder for configuration storage and temporary files

network_storage_folder=imageserverstorage

#general log for all servers in #<network_storage_folder>/log/PixometryServers.log

network_log=on network_log_files=15 network_log_bytes=20000000

An example file is available within the Pixometry install directory, in the conf folder.

Practical

All hotfolders must be accesible with the same path on all Pixometry servers.

Channel settings can be changed with the user-interface of one of the available Pixometry servers. 

Processinformation will always be logged locally for each server, but can be extended with 1 overall logfile for all servers, option network_log=on. Each line in the log will be preceeded by SRV<nr>: .The <nr>represents the following number in the <serverlist>. The general log will be stored in : <network_storage>/log/PixometryServers.log

The Inspector Client application must be installed with one of the known (and accesible) Pixometry servers. After starting up the application, the list with available servers is requested. From now on Inspector knows which other servers can be connected in case of server connection timeout. On restarting the Inspector, the last known connected server will be tried for first connection. If that does not succeed, the list with other servers are used for connection.

All Inspector queues are stored in the network storage folder: “inspector”.