Scheduled Jobs Processing

Scheduled Jobs are just templates of Jobs with a schedule to define when the Job must be instantiated autonomously.

Once a Job is created by CreateJob Server Method, it is saved in the database and published to the queue for processing. To manage asynchronous execution, Job execution is implemented with an in-memory queue.

A special background service implemented as an extension of the innovator Agent Service is set to listen to the queue and process Jobs from it. This Service has a limited number of parallel threads to limit server overload.

Every Job is then processed by a Worker Thread as a self-request to Aras Innovator Server to execute the Server Method configured in the Job.

Warning
Since Job Execution Queue is implemented as Innovator Server in-memory queue, it is possible that Jobs might remain in Awaiting status if Innovator server crashes, is restarted due to IIS reset or autoscaler event.
Warning
Worker Thread sends requests to Innovator Server. Failed Jobs can happen in case of network issues or timeouts.
Warning
Jobs can remain In Progress state even if the actual job execution completed successfully. This can happen in case of critical failure of Innovator Server, IIS reset or lost connection to database when the job is completing execution.