Topic/Category: Pickup

Pickup settings have changed in the 4.0 release of Ephesoft from what they were in previous 3.x based versions.


In 3.x series, the pickup service was executed on each server in the cluster and the pickup capacity was set to a value based on the max process capacity on that particular service. For example if the max process capacity for a server is 5, the pickup capacity for the server was usually set to 3. Each of the server therefore could  have a configuration of its own.


Server server.instance.max.process.capacity server.instance.pick.capacity Set To Pickup
#1 5 3 yes
#2 5 3 yes
#3 5 3 yes



Beginning from 4.0. The pickup service is executed on single server in a cluster with failover functionality. This is an automatic service that assigns a random server in the cluster to execute the pickup service. The server on which the pickup service is being executed is responsible for picking up all the batches for the cluster while keeping check on the total execution capacity of the cluster.

Thus server.instance.pick.capacity should be set to total max pickup value that one wants to pick up on the cluster, thus when compared to 3.x example the value should be 5+5+5 = 15.

Whereas server.instance.max.process.capacity is independent and must be set to the value which user wants to execute on corresponding server when compared to 3.x example user would like to execute 5 batches on each server thus execution capacity must be set to 5 in 4.x on each server as well.

NOTE: It is recommended that all servers in the cluster be configured using the same max process capacity and pick capacity values. This is because any server in the cluster can be assigned to run the pickup service in case of a failover.




Server server.instance.max.process.capacity server.instance.pick.capacity Set To Pickup
#1 5 15 yes
#2 5 15 no
#3 5 15 no


It is required that all cron settings for the pickup service be offset per server.
Example of cron setttings:

dcma.pickUp.cronjob.expression=30 0/1 * ? * *
dcma.resume.cronjob.expression=30 0/1 * ? * *


dcma.pickUp.cronjob.expression=45 0/1 * ? * *
dcma.resume.cronjob.expression=45 0/1 * ? * *


It is recommended that there be a minimum of 15 seconds difference per server.

Note: Release 4120 onwards batch pickup algorithm has been optimized which will help to pick larger number of batches for processing irrespective of the batch class size, earlier batch pick up time was directly proportional to size of batch class.

Was this article helpful to you?

J.D. Abbey

Comments are closed.