LinkedIn
Copied!

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.
Alternatively, the application server may act as the SNTP time server; however, if multiple application servers access a common database it makes more sense and allows configurations to be more consistent if the database server takes that role.

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.

Suggest Edit

75% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.