This page provides an overview of batch instance priority and its configuration in Ephesoft Transact.
Overview
The batch instance priority sets the order in which a batch will be 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 is 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
Note: If a priority level is changed while a batch is in the RUNNING state, the change will occur once it has reached 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, as shown below. The default priority is the priority of the batch class.
Figure 1. Batch Upload
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, as shown below. The default priority is the priority of the batch class.
Figure 2. Web Scanner
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.
Figure 3. Batch Instance Management
If a priority level is changed while a batch is in the RUNNING state, the change will occur once it has reached the READY state. This means that the new priority will be reflected in batch processing after the Review or Validation phase has completed.
The new priority will also be applied if the batch is restarted from any selected module. From the Batch Instance Management screen, select the batch and click Restart.
Figure 4. Restart Batch
Workflow Algorithm
When processing batches with different priorities, the system will pick up the higher priority batches first (closer to 1). In the event that two batches have the same priority level, Ephesoft Transact will refer to the workflow batch picking algorithm specified in the application.properties file.
- Navigate to [Ephesoft_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 will be processed first.
Batch instances are processed in a cyclic manner. For example, if there are two batch classes that each have two batch instances, the system will pick up the batch instance for batch class 1, then move on to pick up the batch instance for batch class 2. This process will continue, 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 would be 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 would be 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 can’t use that particular slot until it finishes processing.
Depending on your version of Transact, you may be able to configure this flexible node-based prioritization. Refer to your version below for more information.
Ephesoft Transact 2020.1.03 and Above
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–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 |
Ephesoft Transact 2020.1.02 and Below
Batch instance priority overlap is not supported. The following table is an example of configuring an environment with priorities ranging from 1–20 without the use of priority overlap.
Server | BI Priority Assignment | Server Processing Capacity |
Server 1 | 1-10 | 7 |
Server 2 | 1-10 | 7 |
Server 3 | 11-20 | 7 |
Server 4 | 11-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 | 28 |
Conclusion
This completes the overview of the batch instance priority feature and its configuration in Ephesoft Transact.