jupyterノートブックから使用するときにdaskから異常な動作が発生しています。だから私は地元のクライアントを開始し、それを行う仕事のリストを与えています。 1. DASKは、この例では9個以上のプロセスを開始します。jupyterノートブック経由でdask分散コンピューティングを使用する
from dask.distributed import Client
def inc(x):
return x + 1
if __name__ == '__main__':
c = Client()
futures = [c.submit(inc, i) for i in range(1,10)]
result = c.gather(futures)
print(len(result))
問題は、私はことを実現、ということである:私の実際のコードは、私がここにあなたのための簡単な例を入れていますので、少し複雑です。 2.コードが実行され、処理が完了すると(ノートブックでは何も実行されていません)、daskによって作成されたプロセスは強制終了されません(クライアントはシャットダウンされません)。私がトップをすると、まだ生きているすべてのプロセスを見ることができます。
私は、このドキュメントではclient.close()オプションがあると見ていましたが、面白いことに、そのような機能は0.15.2にはありません。
daskプロセスが強制終了されるのは、私がjupyterノートブックを停止したときだけです。この問題により、不思議で予測できないパフォーマンスの問題が発生しています。ノートブックでコードが実行されていないときに、プロセスが強制終了されたり、クライアントがシャットダウンしたりすることはありますか?
ありがとうございました。あなたの助言が助けられ、私はプロセスの数を制御することができましたが、プロセスはまだ生きていて殺されていません。コンテキストマネージャの設定を変更する必要はありますか? –
私はあなたの助けを借りてそれを働かせました。ありがとうございました。私はちょっとした変更が必要でした。 クラスタ= LocalCluster(n_workers = 9) クライアント(クラスタ)をc: –
としてください。 – mdurant