Synchronizing server clocks and database clocks with NTP for correct service level computations
If the system clocks in the server hosting the PegaRULES database and the application have different dates or times, service level rules in Pega Platform™ may not execute at all or can execute prematurely
Similarly, in a multi-node cluster, it is important that clocks be synchronized.
Suggested approach
For each assignment or work object associated with a service level rule, Pega Platform sets a goal time based on the date and time in the on the application server, using its clock.
However, evaluation of the goal time occurs after the item is submitted (stored in the database) using an SQL statement that queries the PegaRULES database. This query implicitly uses the clock of the database server, so problems will result when times on the two servers differ
For example, an assignment ApproveLoan is associated with a service level rule with the goal time of one hour, and a deadline of two hours.
- If the database server's clock is ahead of the application server's clock by an hour, then when the system queries the item about goal time, it picks up the database time and immediately executes the goal time escalation.
- If the database server's clock is more than an hour ahead of the application server, then it skips the goal processing entirely and goes straight to the deadline time processing.
To avoid this issue, set the clocks for both servers to the same time, using the Network Time Protocol (NTP). Use either of two approaches:
- Have both the database server and the application server refer to an external time source, or Simple Network Time Protocol (SNTP) server.
- If these systems have no access to an external SNTP server, have the database server also act as the SNTP server (if it supports SNTP), and then set the application server to set its clock by the database server.
For Windows: The Server versions of Windows support the Network Time Protocol. (Use the command Net Time/SETSNTP.)
For UNIX: A Solaris or AIX server can be either a "client" of the time server or a "server." As a best practice, you should implement a standard Time service (Network Time Protocol server) and then set up the Pega Platform server as a client of this Time service. Only in the absence of the Network Time Protocol server should you set up the UNIX server as the time server.
See the following pages for additional information:
For more information about the Sun configuration for NTP, go to the Oracle website.
For more information about the IBM AIX configuration for NTP, go to the IBM website.