2016-09-08 6 views
2

Ubuntu 16.04でdask分散スケジューラとワーカーを自動的に起動して制御するさまざまな方法を検討しています。dask分散スケジューラとUbuntuでの作業者の自動起動16.04

現在、私はsystemdデーモンを使用することが最も適切な選択肢だと考えています。これには、unit filesの作成とインストールが必要です。

Systemdでは、ユニットファイルにサービスを停止するコマンドラインが必要であることが必要です(ExecStop)。

コンフィギュレーションをリロードするコマンドも便利ですが、私はモジュールを再インポートするためにPythonを作成する方法や、単にプロセスを再起動するよりも単純な方法はわかりません。

現在、dask-schedulerまたはdask-workerコマンドを実行してスケジューラ/ワーカーを停止することはできません。関連するコマンドラインスイッチが見つかりませんでした。

また、PIDファイルを作成し、標準のkillコマンドを使用することもできますが、Dask配布はPIDファイルを作成していないようです。私は正しい?

答えて

1

dask-workerまたはdask-schedulerプロセスに割り込み信号(Ctrl-Cのような場合など)を送信すると、プロセスを中断して正常にシャットダウンします。

私たちは現在PIDファイルを書いていませんが、これは簡単です。プロジェクトに含める必要があると思われる場合は、open an issueをお勧めします。他のサービスで共通の適切な開始/停止コマンドを作成するのと同じです。

+1

はい、割り込み信号を送信するにはプロセスIDが必要ですが、見つからないことがあります。 – wl2776

0

最後に、ExecStop=/bin/trueに設定しました。 Systemdは依然として正常にサービスを停止して再起動します。

Current systemd manualは、ExecStopはオプションです。

関連する問題