Adding error handling strategy control to Scheduler

Authored by wreissenberger on Aug 31 2019, 8:23 AM.

Description

Adding error handling strategy control to Scheduler

Summary:
Currently, the Scheduler is not very robust against temporary problems during an imaging session. Passing clouds might create situations, where either the Scheduler terminates or the different modules get out of sync with there state. As a result, some passing clouds can destroy an entire session.

This patch adds the option to control, how the Scheduler should handle aborted jobs:

  • Try to restart them directly after a configurable delay.
  • Continue with the other scheduled jobs. As soon as no jobs are scheduled, try to restart the aborted jobs (current behaviour, but with the additional option of a configurable delay).
  • Do not restart aborted jobs at all.

Additionally, there is an option to handle errors like aborted jobs and try to restart them. Whether selecting this option depends on the individual technical setup. In my case, I experience from time to time errors when slewing to a target. Restarting it does not create any problem at all. But it might be the case, that with other setups its dangerous to ignore an error and expose the equipment to the same error situation again and again. That's why I added this as an option.

Third thing that I changed is re-sorting error jobs at the end of the schedule. This only makes sense if we do not want to restart them. Otherwise, re-sorting them disturbs the intentionally set order of jobs. Therefore, I disabled this feature.

Last thing: there were some guiding and focusing problems that led to an error state. I changed their result to the aborted state.

Test Plan:
Create a schedule with several jobs and try to provoque aborts and errors:

  • Aborts with guiding might be created by sending a small move signal or by setting the imaging time of the guider to a very small time.
  • Errors are more tricky. One option is using the debugger, setting a break point for example in setMountStatus() and jumping to a line where an error is handled.

Reviewers: mutlaqja, TallFurryMan

Reviewed By: mutlaqja, TallFurryMan

Subscribers: kde-edu

Tags: KDE Edu

Differential Revision: https://phabricator.kde.org/D22446

Details

Committed
mutlaqjaAug 31 2019, 8:23 AM
Reviewer
mutlaqja
Differential Revision
D22446: Adding error handling strategy control to Scheduler
Parents
R321:cc05215c5fc3: Filename options selection preserved
Branches
Unknown
Tags
Unknown