Details
-
Enhancement
-
Resolution: Done
-
Major
-
2.12.1
-
None
Description
The ExecutionRunner class which is used for running distributed tasks currently doesn't allow for nice extensibility. This is caused due to no real hook points or callbacks to add additional local functionality if a user desires. One such functionality may be to automatically rollback or commit a local database transaction after the task is finished. This would allow for calling code to not have to care about transactional awareness and be more usuable across a target suite. Also today there is no nice way of shutting down an ExecutionRunner, it is done today purely with interrupts, and if a task is currently running this will receive an interrupt request which could be problematic. We should have a way so that when an ExecutionRunner is interrupted that it will shutdown only after finishing the current request or immediately if there is no request.