D22446: Adding error handling strategy control to Scheduler

Wolfgang Reissenberger noreply at phabricator.kde.org
Sat Jul 13 20:17:32 BST 2019


wreissenberger created this revision.
wreissenberger added reviewers: mutlaqja, TallFurryMan.
Herald added a project: KDE Edu.
Herald added a subscriber: kde-edu.
wreissenberger requested review of this revision.

REVISION 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.

REPOSITORY
  R321 KStars

BRANCH
  scheduler_error_handling_01

REVISION DETAIL
  https://phabricator.kde.org/D22446

AFFECTED FILES
  kstars/ekos/capture/capture.cpp
  kstars/ekos/scheduler/scheduler.cpp
  kstars/ekos/scheduler/scheduler.h
  kstars/ekos/scheduler/scheduler.ui
  kstars/kstars.kcfg

To: wreissenberger, mutlaqja, TallFurryMan
Cc: kde-edu, narvaez, apol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-edu/attachments/20190713/f8b15f8e/attachment.html>


More information about the kde-edu mailing list