Transact

⌘K
  1. Home
  2. Transact
  3. Features and Functions
  4. Administrator Role and Fe...
  5. Batch Instance Management...
  6. Batch Instance Priority

Batch Instance Priority

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.

  1. Navigate to [Ephesoft_Directory]\Application\WEB-INF\classes\META-INF.
  2. Open the application.properties file.
  3. Locate the workflow.batchPickingAlgo property.
  4. Set batch instances to queue using one of the following algorithms:

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.