EVA Job Orchestration Overview

EVA Job Orchestration manages the processing of Estimates versus Actuals (EVA) jobs from the EVA Asynchronous Job object to ensure the processing of EVA records. The Job Orchestrator coordinates these job records to prevent conflicts during concurrent updates.

How Job Orchestration Works?

The EVA Job Orchestrator uses the EVA Asynchronous Job object to manage processing. It determines the data scope of each job by analyzing associated held resources requests, assignments, and timecards to identify which tasks can run simultaneously without conflicting with each other.

You can process jobs in the following ways:

  • Parallel Processing: If jobs have no overlapping data scopes (Assignment/Schedule IDs), the application runs them in parallel to reduce processing time.
  • Project-Based Parallel Processing: If jobs are processing records that do not relate to the same projects, the application runs them in parallel to reduce processing time.
  • Sequential Processing: If the application detects a common ID across multiple jobs, it queues those specific tasks to run one after another to prevent race conditions and data corruption.
Note:

By default, the EVA Orchestrator Mode field is set to 0. In this, events that trigger EVA calculations are queued in groups, so that while related events are processed sequentially, unrelated EVA updates, such as events for different resources, assignments, or timecards, are handled in parallel. Therefore, performance at value 0 is slower than when the EVA Orchestrator Mode field is deselected.

As you increase the EVA Orchestrator Mode field value, processing times also increase:

  • When the value is set to 1, it increases processing time beyond that of value 0 because it will use less groups that can be processed in parallel.
  • When the value is set to 2, it only groups according to batch size, which provides the slowest processing speed because it requires all EVA events to be processed sequentially, regardless of record relationships.

The higher the orchestrator mode settings reduce the potential for conflicts with customizations at the expense of processing speed.

Orchestration Modes

Your administrator can control how the Job Orchestrator handles tasks by configuring the EVA Orchestrator Mode field in the Est Vs Actuals Settings custom setting.

  • 0 - Processes jobs in parallel as long as there are no conflicts with associated assignments or schedules. This is the default mode.
  • 1 - Allows parallel processing only when there are no conflicts with associated projects.
  • 2 - Processes all jobs one at a time. This mode is a defensive measure to prevent unexpected interactions with custom configurations.

The orchestrator automatically removes outdated job records to maintain organizational efficiency.

Your administrator can specify how long records remain on the object by entering a value in the Days to Keep EVA Asynchronous Jobs field in the Est Vs Actuals Settings custom setting. For more information, see Est Vs Actuals Settings.

Disabling Orchestration

To opt out of EVA job orchestration entirely, select the Disable EVA Orchestrator field in the Est Vs Actuals Settings custom setting. This field is deselected by default. For more information, see Est Vs Actuals Settings.