Hi everyone,
I have Conductor workers running on Kubernetes pods.
I would like to handle the graceful shutdown in this way:
- stop worker polling (I achieved this by implementing the function
paused() of the WorkerInterface)
- before executing the
sys.exit() to terminate the pod, I want to be sure that the current worker executions will be finished without being truncated after the SIGTERM (so all the processes associated to the TaskHandler end)
- finally execute
sys.exit() to terminate the pod
I noticed that in the TaskRunner class, when the worker is paused, None is returned to the function run_once, but the function run is in a while True loop and I didn't understand how can I be sure when a worker is stopped and finished performing his task,
Is it possible to achieve the behaviour described in the 2nd point?
Thank you in advance.