×

INDI Library v2.0.7 is Released (01 Apr 2024)

Bi-monthly release with minor bug fixes and improvements

Making the scheduler not abort an exposure when switching jobs?

  • Posts: 96
  • Thank you received: 25
So I got the scheduler mostly doing what I want.

This morning I noticed that, as a new job was started, the scheulder aborted an exposure in progress - in one case with just about 10 seconds remaining - rather than waiting for that exposure to finish. It would be nice if there was a control (did I just miss it?) to say whether it's more important to start a target as soon as possible or whether it's ok to start a couple of minutes late to allow an exposure to finish.

And If an exposure is to start as soon as possible, does that imply slewing, aligning, guiding (including any necessary calibration) a few minutes ahead of time so that at the scheduled start time data collection can actually begin? I'm thinking not, since it appears that the scheduler performs its actions at the end of the minute where the action is to be taken.

1 year 8 months ago #85352
Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 1222
  • Thank you received: 565
Chris,

You are correct that the scheduler will preempt a job as soon as the constraints say so, with no regard to the remaining time in the capture. You are also correct that the scheduler does not start jobs a little early to take slewing/focusing/alignment/guiding-startup times into account.

From my perspective, these are risk-reward tradeoff, where in this case we minimized risk and made the (complicated) scheduler a little bit less complex, and reduced the chances of introducing a bugs to save some capture time. Currently the scheduler currently has no notion of remaining time in the current capture (though, of course, it could be coded in). I'm not minimizing your concern, I know capture time is valuable, but in this case we decided to keep it simpler. Looking back, in this case I'm happy with the decision to keep this one simpler.

If you want to check out the logic, you can trace it starting from here: invent.kde.org/education/kstars/-/blob/m.../scheduler.cpp#L3894 If checkJob() returns false, the job will be preempted.

Hy

PS It is also true that there are parts of the system that do wait until capture ends before preempting--the meridian flip logic waits until the capture ends before starting the flip process.
1 year 8 months ago #85367

Please Log in or Create an account to join the conversation.

Time to create page: 0.160 seconds