1
dask.distributedワーカーを実行すると、タスク関数にスローされた例外がスケジューラに伝播され、ジョブ全体が強制終了されます。スケジューラが(別のワーカーに)潜在的にそれを再試行するように、正常にタスクを失敗させる方法はありますか?Dask worker graceful task failure
dask.distributedワーカーを実行すると、タスク関数にスローされた例外がスケジューラに伝播され、ジョブ全体が強制終了されます。スケジューラが(別のワーカーに)潜在的にそれを再試行するように、正常にタスクを失敗させる方法はありますか?Dask worker graceful task failure
現在、Dask.distributedスケジューラは、例外をタスクの真の値として解釈します。自動再試行は現在サポートされていません(2017年8月現在)。しかし、これは頻繁に要求されています。近い将来にこの変化を見るのは驚かないだろう。
タスク内にリトライロジックを追加することをおすすめします。
def f(*args, **kwargs):
for i in range(n_retries):
try:
# your code
# return result
except Exception:
pass
future = client.submit(f, *args, **kwargs)
すぐに回答いただきありがとうございます。このような機能がない場合は、現在、単一のワーカー内で再試行を実行しています。 – evilkonrex