Right now, the should stop event can be sent by the Orchestrator based on a scheduled run time. However, the bot can still operate well outside of the normal processing time allotted for a given process if each transaction takes a considerable amount of time.
In order to account for this, I am proposing that the RE Framework have the ability to query for the average run time for the Queue that is working from and also request whether there’s a scheduled end time for the current process. It should check whether the current time plus the average run time of a queueitem is greater than the scheduled stop time for the process such that it won’t go over.
That’s a decent workaround, but that’s still manually handling that number and accounting for it within the scheduler, something that would be hard to document the reasoning behind. It would also create gaps in the schedule which may make the bot appear to have more free time than it actually does.
I am worried that, in doing what you’re suggesting, the average processing speed could change over time and it would not be obvious that the schedule offset would need to be adjusted if it’s gradual.