Adds proper handling of ExecutorProviders initialization and shutdown
What does this MR do?
Adds a general interface for initializing and shutting-down Executor providers.
Why was this MR needed?
Some of the Executor Providers (like the newly introduced internal autoscaler) may require an initialization of a management layer and a proper shutdown to be done before Runner process exits.
This MR introduced a general mechanism in the ExecutorProvider interface as well as adds implementation for the autoscaler provider.
Please see #29313 (closed) for more details.
What's the best way to test this MR?
What are the relevant issue numbers?
Closes #29313 (closed)
Edited by Tomasz Maczukin