Python スクリプトを実行し、終了後に再起動することを確認する必要があります。Supervisord という UNIX ソリューションがあることは知っています。残念ながら、スクリプトを実行する必要があるサーバーは Windows 上にあります。どのツールが役立つか知っていますか? ありがとう
6 に答える
おそらく、スクリプトをWindows Service
. そのためには、python-win32ライブラリが必要です。この質問には、これを行う方法についての適切な説明と、他の関連リソースへのリンクがたくさんあります。この質問も役に立つかもしれません。
AWindows Service
は、Windows で継続的に実行する必要があるスクリプトをラップする方法です。起動時に自動的に起動し、障害を処理するように構成できます。誰かがプロセス自体を強制終了するのを止めるものは何もありませんが、その潜在的な状況に対処するには、bat
ファイルを作成し、sc
コマンドを使用してサービスをポーリングして、サービスが実行されているかどうかを確認し、サービスが再起動されていない場合は再起動します。ファイルが 60 秒ごとに実行されるようにスケジュールするだけbat
です (または、スクリプトが潜在的にダウンするのに適したもの)。
ほとんどの posix OS で実行され、supervisord のような Python ベースの Supervisord のようなプロセス マネージャーが必要な場合は、フォアマン (Ruby ベース) の Python ポートである honcho を確認する必要があります。
http://pypi.python.org/pypi/honcho/
Mac、Linuxではうまく機能しますが、(実際には)まだWindowsでは機能しません...(破棄されたプルリクエストに基づいて、すでにWindowsで動作していると楽観的に言った最初の回答を編集しています)
ここに Windows サポートを提供するフォークがありますhttps://github.com/redpie/honcho とここに Windows をサポートするために進行中の作業があります https://github.com/nickstenning/honcho/issues/28 ... 少なくとも近い将来、可能な解決策になる可能性があります。
ここには、Windows をサポートするフォアマン フォークもあります: https://github.com/ddollar/foreman-windows。
したがって、現時点では、Windows サービスが短期的な最良の選択肢となる可能性があります。