conductor-oss / conductor-oss/python-sdk

Workers graceful shutdown being sure that current executions are not truncated

オープン
#243 コメント 3 件 リアクション 2 件 担当者 1 名 @coderabhigupta が担当を希望しています GitHub で見る
enhancement
主要言語
Python
スター
104
フォーク
42
平均マージ
2日 1時間
マージ済み PR(30日)
3

説明

Hi everyone,

I have Conductor workers running on Kubernetes pods.
I would like to handle the graceful shutdown in this way:

1. stop worker polling (I achieved this by implementing the function `paused()` of the `WorkerInterface`)
2. 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)
3. 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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。