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
