strands-project/strands_executive

General scheduler remarks and feature requests

cdondrup opened this issue · 0 comments

This issue is more a collection of what I noticed and what would be nice to have in order to facilitate working with it. The initial list is rather short but I might add to it.

  • Scheduling speed: the scheduler itself takes quite some time to clear a schedule and to drop tasks, this is mainly due to (from my observation):
    • The travel time being estimated for every task everytime the scheduler drops a low priority task. Example: task1 - task5 have prio 1 and task6 has prio 2. The time window and max_duration of task6 don't allow task1- task5 to be executed and have to be dropped. The first time it tries to schedule it gets the travel time for task1 - task6, then drops task1. The second time it tries to schedule it gets the travel time for task2 - task6, then drops task2. And so on. This seems to be a very lengthy process which might result in the following behaviour.
  • If a task that is supposed to start at 15:00 is added at 14:59.30 and the max_duration is equal to end_before - start_after, the scheduler starts trying to schedule it. Due to above process of dropping tasks and trying to reschedule several times, the system time becomes > 15:00 and the scheduler disregards the new task as not executable any more even though it was received in time and might have only needed a few more seconds.

Feature request:

  • The output is not verbose enough when it comes to why tasks where dropped. Was it because the window start time was in the past, the max_duration didn't fit the window, etc.?