Batch instance priority
The batch instance priority sets the order in which a batch is executed. This is a numerical value (1-100) and is compared against the priority of other batches when executing plugins or attempting to access resources. The following table represents a general guideline of priority ratings.
Value |
Priority |
---|---|
1-25 |
Urgent |
26-50 |
High |
51-75 |
Medium |
76-100 |
Low |
Set priority levels
The batch instance priority can be set from multiple areas:
-
Upload Batch screen
-
Web Scanner screen
-
Batch Instance Management screen
If a priority level is changed while a batch is in the RUNNING state, the change occurs once the batch reaches the READY state.
Upload Batch screen
From the Upload Batch screen, you can set the batch priority in the Priority field. This is located at the top right corner of the screen. The default priority is the priority of the batch class.
Web Scanner screen
When uploading a batch from the Web Scanner screen, you can set the batch priority in the Priority field. This is located at the top right corner of the screen. The default priority is the priority of the batch class.
Batch Instance Management screen
You can modify the batch priority from the Batch Instance Management screen by clicking the field in the Priority column to edit the text.
Workflow algorithm
When processing batches with different priorities, the system picks up the higher priority batches first (closer to 1). If two batches have the same priority level, Ephesoft Transact refers to the workflow batch picking algorithm specified in the application.properties file.
-
Navigate to <Ephesoft Transact_Directory>\Application\WEB-INF\classes\META-INF.
-
Open the application.properties file.
-
Locate the workflow.batchPickingAlgo property.
-
Set batch instances to queue using one of the following algorithms:
-
Round robin (=1)
-
FIFO (=0)
-
Round robin
This is the default option. When using this algorithm, batch instances are sorted by the batch class priority. Batch instances that belong to the same batch class are processed first.
Batch instances are processed in a cyclic manner. For example, if there are two batch classes with two batch instances each, the system picks up the batch instance for batch class 1, then moves on to pick up the batch instance for batch class 2. This process continues, with the system picking one instance of each batch class at a time in a circular manner.
An example set of batch instances:
Batch identifier |
Priority |
Batch class |
---|---|---|
B1 |
10 |
Receipts |
B2 |
10 |
Receipts |
B3 |
10 |
Invoices |
B4 |
10 |
Invoices |
In this example, the batch instances are sorted in the following order:
-
B1
-
B3
-
B2
-
B4
To select this algorithm, set workflow.batchPickingAlgo=1.
FIFO
When using this algorithm, batch instances are sorted by the batch instance priority. Batch instances that have the same priority are further sorted by batch instance status. Batch instances in the READY state take priority over those in the NEW state.
An example set of batch instances:
Batch identifier |
Priority |
Status |
---|---|---|
B1 |
1 |
New |
B2 |
2 |
New |
B3 |
2 |
Ready |
B4 |
3 |
Ready |
In this example, the batch instances are sorted in the following order:
-
B1
-
B3
-
B2
-
B4
To select this algorithm, set workflow.batchPickingAlgo=0.
Priority overlaps
Batch instance priority overlap refers to intentional overlap in batch instance priority assignments between servers in a clustered environment. Priorities are processing blocks based on the total capacity of a server. If one slot is allocated for a batch instance, other batches cannot use that particular slot until it finishes processing.
Batch instance priority overlap is supported, multiple nodes in the cluster can overlap priorities. The following table is an example of configuring an environment with priorities ranging from 1 to 20:
Server |
BI priority assignment |
Server processing capacity |
---|---|---|
Server 1 |
1-10 |
7 |
Server 2 |
11-20 |
7 |
Server 3 |
1-20 |
7 |
This solution would have the following total allocated processing capacity:
BI priority assignment |
Total allocated processing capacity |
---|---|
1-10 |
14 |
11-20 |
14 |
1-20 |
21 |