Skip to main content

Principals of Operation

The Sigmafine Scheduler engine is a Windows service that performs the following tasks:

Initializes and connects to the configured Sigmafine Server.

  • Loads the Sigmafine database(s) headers and scheduling tables (there is one scheduling table for each AF database). Should the main scheduling table (fixed name: SF_Scheduler) be empty or not found, the Scheduler engine skips the execution of all the analyses on the target database.

  • When the SF_Scheduler table contains valid data, the following tasks are performed for each listed analysis:

  • Scheduling parameters from the SF_Scheduler table are read.

  • An execution loop is run for all the necessary case/time-ranges. The Scheduler starts from the initial point and checks whether the end-time is in the future or not.

    The execution loop starts from the latest available Case or Time-Range and aligns all in between with the current Case or Time-Range (history recovery). Once aligned, the remaining executions are checked against the expected end-time. If the end-time is in the future rather than now (the execution time itself), the Scheduler does not continue avoiding invalid analyses times and results.

  • An analysis execution is run according to scheduling parameters.

    The case execution requires either Pimsoft.Sigmafine.Scheduler.Executer_x86.exe or Pimsoft.Sigmafine.Scheduler.Executer_x64.exe, based on the execution platform you have configured for the execution. This child process is spawned by the main Sigmafine Scheduler, and is used for isolating the executions and avoiding any kind of memory leaks and critical errors/exceptions during the execution of the analyses.

  • The following post-analysis executions steps are run:

  • Publish (on tag PI)

  • Check-in (if required)

  • SQL Access publication to SQL or to PI (only if check-in is enabled)

  • The execution statistics are updated.

  • The scheduling tables are updated/refreshed every X minutes (where X is the "refresh time").

    By default, the "refresh time" is set to 2 minutes, but can be edited in the main Sigmafine Scheduler configuration file.