If you have a concrete idea, please provide some code. I don’t know how to build such a thing in a good way.
Note that the job’s lock expiration time is already such a timeout. This ensures that the job will be triggered again, but it does not cancel the ongoing execution. So if you have an infinite loop in a JavaDelegate
or similar, all the job executor’s threads will be busy after some time.