Batch processes

PolicyCenter distributes batch processes across all PolicyCenter cluster members that have the batch server role. Each server with the batch role also has a batch process lease manager that acquires and manages the batch process leases on that server. In this context, a lease represents a single run of a single batch process.

Available servers with the batch role compete for available batch processing leases. After a server acquires a lease, that server runs the batch process to completion.

How aggressively the cluster servers compete with each other depends on how many batch processes each one is individually already running. Those servers running fewer or no batch processes are more likely to acquire a new batch process lease than other servers already busy running processes.  It is possible to configure this behavior.

For scheduled batch processes, a scheduler component, running on a cluster member with the scheduler role, decides to start a batch process according to the published schedule. The scheduler first creates a new lease for the batch process in the database. All cluster members with the batch server role then compete to acquire that lease. The cluster member that wins the competition starts the batch process.

The Batch Process Info screen

Generally, a batch process runs to completion and then reports its result back to a log or to the administrative user interface. You can view and manage batch processing from the Server Tools Batch Process Info screen in PolicyCenter, if you have the appropriate administrative privilege. From this screen, you can view the batch process schedule, if any, and start or stop a scheduled batch process.

Batch process caching

Batch processes that run concurrently on the same server share a common cache. The cache demands of each process end up flushing the cache more frequently, so fewer cache hits occur for each process. That increases the amount of physical reads from the relational database, thus degrading performance. Concurrent data change exceptions can occur also if multiple batch processes (on the same or different servers) attempt to update the same cached entity instances. This requires one or the other batch process to retry an item, leading to further performance degradation.

See also