This PR involves a significant rewrite of the services involved in creating and updating employees in the ESA, allowing batching of a number of operations.
Specifically, it features:
Batching of gets / creates / updates against the CallWeb API
Batching of saves to the ESA database
Much more robust task status tracking and exception handling
Easier-to-read code, as various Employee-related processes are split into their own files
In almost all cases, methods which previously supported operations on a single Employee at a time now support batched operations on Lists of Employees.
A new TaskOutcome class helps tracking successes and failures across a number of steps. This should make the process more robust and provide finer-grained insight into exceptions and other failures on an Employee level.
The resulting process is considerably faster than in the previous system, allowing full refreshes of employee statuses, creations from the API, etc. in less than one minute, vs. several minutes for the previous code.
Overview
This PR involves a significant rewrite of the services involved in creating and updating employees in the ESA, allowing batching of a number of operations.
Specifically, it features:
In almost all cases, methods which previously supported operations on a single Employee at a time now support batched operations on Lists of Employees.
A new
TaskOutcome
class helps tracking successes and failures across a number of steps. This should make the process more robust and provide finer-grained insight into exceptions and other failures on an Employee level.The resulting process is considerably faster than in the previous system, allowing full refreshes of employee statuses, creations from the API, etc. in less than one minute, vs. several minutes for the previous code.
Fixes
204