We now have the ability to throttle cron process run time since
These settings are only honored between runs of scheduled tasks in the cronlib, but some heavy tasks can still take many many hours (> 24 hours on big sites). Most of these scheduled tasks are processing some sort of large queue and it should also be able check whether it should continue between queue items.
The end game here is to eventually allow much fast clean exiting of cron when doing a new release, and this should be much simpler and a less contentious than MDL-57852
Then exiting gracefully via SIGTERM could be built on top of this MDL-59594