|Theory of Operation|
is a method by which two or more servers which are running Agent can work
together to process the same workflows. Only those workflows that share
the same hotfolder or external trigger (like FTP, JobTicket, Query etc.)
will be paired. In the "Pairing Configuraton" you can configure
per server which Daemons should be included in the Pairing mechanism. Each
enabled Daemon will on startup determine which workflows are suitable for
pairing and register itself in the configured pairing-database. When a paired
workflow starts running it will first check in the pairing-database if another
partner-server is already processing the same workflow. If so, the worklfow
won't be executed by this daemon.
The "Pairing Configuration" allows you to configure names for the hashing- and partner tables. All partner-servers which share the same database and the same table-names will be paired together. Using different table-names for different servers you can configure which servers should be in the same pairing-group. This way different pairing-groups can be stored in the same database.
The pairing mechanism ensures that if one partner-server fails, the other server(s) will seamlessly take over the processing of the paired workflows. This makes pairing both a kind of load-balancing and fail-over mechanism.
On a more technical level:
Each time a paired-workflow starts to run, it checks the hashing-table to find out if another partner-server is already processing a workflow with the same trigger-settings. If not, a hash-code is generated from the trigger-type (Hotfolder, FTP, Query), inserted in the hashing-table and the workflow starts to run. This hash-code is the actual "trick" to the pairing mechanism because it is based on the exact trigger-settings (hotfolder-path for Hotfolder-trigger, FTP-settings for FTP-trigger and Query-settings for Database-trigger). This means that if different servers are using the same settings, they will generate the same hash-code. A query can then be executed on the hashing-table to find out if a workflow with this particular hash-code is already being processed.
Once a paired-workflow is finished it will remove the hash-code from the hashing-table.
only requirement for Pairing to function is to configure the PAIRING preset-database
to point to the correct database(server). Typically this database should
be located on different servers then the partner-servers.
It is recommended to use a "real" database-server for Pairing, like SQL-Server or Oracle (not MS-Access MDB).
|The Daemons for which pairing must be enabled.|
Pairing Database Configuration
determines what action is taken when the pairing mechanism fails. Typically
this failing is caused by an inaccesible database.
|When clicked, the pairing settings are saved and the configured database is automatically checked for the necessary tables. If these do not exists, they are created automatically.|
|When clicked, the pairing settings are saved but the configured database is not automatically checked for the necessary tables.|