webevents
Section: Server
Default Value: 0
Valid Values: 1, 0
Changes Take Effect: After restart
Dependencies: provider must be configured.
Introduced: 8.5.216.06
Specifies whether or not WFM Server establishes and maintains WebSocket connections with all WFM Servers found in the Application's connections, including the backup WFM Server, if there is one.
Setting this option value to 1 enables WFM Server to use WebSockets for cache synchronization; changes that occur in cached content on one WFM Server is broadcast to all connected WFM Servers in both directions. WFM still uses the existing timestamp-based synchronization method but the default CacheSlack option value is changed from 30 seconds to 600 seconds making database timestamp checks much less frequent.
By default, this option value is set to 0 and WFM Server is not enabled to use WebSockets as this method of cache synchronization is optional.
provider
Section: auth
Default Value: ""
Valid Values: "", wfm
Changes Take Effect: After restart
Dependencies: [Server] tzdb. See Important note in this option
Introduced: 8.5.214.08
Specifies the provider that performs WFM user authentication.
If this option value is set to:
- "" (empty string)—WFM Server SOAP API authenticates WFM users.
- wfm—WFM Server REST API (on-premises) authenticates WFM users. Such configuration influences default value of tzdb option which controls time zones usage.
SynchronizationLevel
Section: ConfigService
Default Value: 2
Valid Values: 0, 1, 2
Changes Take Effect: Immediately
Dependencies: None
Introduced: 8.5.100.24
Specifies the level of synchronization that WFM Server performs.
Valid values are:
- 0—Synchronization is off
- 1—Synchronizes only agents in sites that are explicitly assigned to the WFM Server and specified in Web for Supervisors Organization > Sites. Skills are not fully synchronized, but they are imported if the agent to be synchronized has skills that are not yet imported. Time zones are not synchronized.
- 2—Full synchronization is on, including time zones and skill definitions. Agents of all sites and unassigned agents are synchronized, except those belonging to sites that are explicitly assigned to a different WFM Server in Organization > Sites.
SynchronizationTimeout
Section: ConfigService
Default Value: 0
Valid Values: Any positive integer.
Changes Take Effect: Immediately
Dependencies: None
Introduced: 8.5.100.24
Modified: 8.5.211.00
Specifies the time period (in minutes) between full synchronization processes.
If this value is set to 0, WFM Server performs full synchronization on startup. Thereafter, WFM Server performs real-time synchronization only.
The level of synchronization started by the timeout setting is determined by the SynchronizationLevel option . Here are some examples:
- SynchronizationLevel = 2
- SynchronizationTimeout = 0
- WFM Server performs full synchronization on startup. Thereafter, WFM Server performs real-time synchronization only.
- SynchronizationLevel = 1
- SynchronizationTimeout = 300
- WFM Server performs full synchronization (except time zones and skills) on startup and then, full synchronization (except time zones and skills) every 5 hours. In between full synchronizations, WFM Server performs real-time synchronization (except time zones and skills). This configuration affects only those agents that are assigned to sites in which this WFM Server is configured for synchronization.
- SynchronizationLevel = 0
- SynchronizationTimeout = 300
- WFM Server does not perform synchronization. In this case, WFM ignores the SynchronizationTimeout option.
SynchronizationLevel
Section: ConfigService
Default Value: 2
Valid Values: 0, 1, 2
Changes Take Effect: Immediately
Dependencies: None
Introduced: 8.5.100.24
Specifies the level of synchronization that WFM Server performs.
Valid values are:
- 0—Synchronization is off
- 1—Synchronizes only agents in sites that are explicitly assigned to the WFM Server and specified in Web for Supervisors Organization > Sites. Skills are not fully synchronized, but they are imported if the agent to be synchronized has skills that are not yet imported. Time zones are not synchronized.
- 2—Full synchronization is on, including time zones and skill definitions. Agents of all sites and unassigned agents are synchronized, except those belonging to sites that are explicitly assigned to a different WFM Server in Organization > Sites.
Data Synchronization
Workforce Management (WFM) Server performs data synchronization automatically, bringing Configuration Database objects, such as agents, agent skills, and time zones into WFM. You can set the level of synchronization for full and real-time synchronization, and set the time period, in which you want WFM to perform full synchronization.
The WFM Server performs real-time synchronization after these tasks are completed:
- Adding new agents
- Removing terminated agents
- Updating an agent's information
- Adding or deleting an agent's skills
- Updating an agent's skill level
- Adding or deleting skills
- Synchronizing time-zones (only if applicable)
In addition, WFM Server:
- Excludes from dynamic synchronization those agents who are manually terminated, but are still in the Configuration Server database.
- Dynamically synchronizes terminated agent who are reinstated only after it performs full synchronization. Only then, does WFM Server re-read these agents, which means in most environments (including Genesys Cloud), these agents are not synchronized until WFM Server restarts.
You configure this functionality in the [ConfigService] section of the WFM Server Application's Options tab. For more information, see the SynchronizationLevel and SynchronizationTimeout configuration options.
Before you configure these options, take note of the objects that WFM Server will synchronize when set to these levels 1 and 2:
SynchronizationLevel = 1 | SynchronizationLevel = 2 |
---|---|
Synchronizes only agents in sites that are explicitly assigned to this WFM Server in Web for Supervisors Organization > Sites. Skills are not fully synchronized, but they are imported if the agent to be synchronized has skills that are not yet imported. Time zones are not synchronized. | Full synchronization is on, including time zones and skill definitions. Agents of all sites and unassigned agents are synchronized, except those belonging to sites that are explicitly assigned to a different WFM Server in Web for Supervisors Organization > Sites. |
Genesys recommends that only one WFM Server in the deployment have its SynchronizationLevel option set to 2. If the deployment consists of multiple WFM Servers, set this option value to 0 in all other WFM Servers, so only one WFM Server performs the synchronization. Set the option value to 1 only in special cases, such as when agent synchronization will be performed by multiple WFM Servers.
Enabling WebSockets for cache synchronization
To prevent a stale cache when multiple servers are using cached database content, changes to the cached content and the database itself must be synchronized. WFM Server currently employs a synchronization method that is based on database timestamps. However, this method can add strain to the database, because it requires a lot of round-trip retrievals to obtain the timestamps of the current records .
To alleviate some of the load on the database, you can configure WFM to use an optional, complementary cache synchronization method, which is based on a fast peer-to-peer data exchange between servers over WebSockets, thereby reducing round-trip retrievals and improving performance. You can enable it by configuring the [auth] provider configuration option and enabling the use of WebSockets in WFM Server by setting the [Server] webevents option value to 1 in the WFM Server Application.
When configuring deployments with enabled WebSockets, ensure that all WFM Server making changes to the database are connected to each other. It doesn't matter whether the connection is direct, indirect, or even cyclic WebSocket messages received by one WFM Server will be relayed to all connected servers that haven't seen the message.
If a proxy server is used between WFM Servers, the proxy also must be configured to support WebSockets.