I’ve messaged Leo in private, but I would like to bring this up to see if others have the same thoughts or better ideas.
I think the current scheduling logic can use some improvement. Based on the observation, right now at the time of RoboTarget startup, it will search for the 1st eligible & priority-sorted target at that moment, and run that target until it’s finished or becomes ineligible. This post some issues as the “high priority” target is likely not getting its deserved prio. For example if in the beginning of the night I only have one very low prio target eligible, but that one is eligible throughout the night, then it will never come to other targets for the whole night.
I would think a better way to ensure high-prio targets getting their time would be:
- At the time of RoboTarget startup, allocate time slot to highest-prio target (TargetA) based on its criteria
- After that, allocate time slot to the 2nd highest-prio target (TargetB) based on its criteria & the remaining time windows; Minimum sequence duration still apply.
- Moving on based on priority list
This way I can ensure that even if my high-prio targets were not available in the beginning, I can still hit on it once it becomes eligible. Otherwise right now I would have to manually stop the Robotarget and re-start, when my preferred target becomes eligible.
Let me know what your thoughts are, or if there is a better way handling this under current structure.