0
ファブリックを使用していて、リモートマシン上でいくつかのコマンドを実行しようとしています。 私はこの仕事をするpythonクライアントを書いています。ファブリックはssh接続を閉じません
@task
@serial
def execute_command(timeout, command):
if timeout == -1:
return run(command, shell=False, pty=False, warn_only=True)
else:
return run(command, shell=False, pty=False, warn_only=True, timeout=int(timeout))
これは、ジョブをスケジュールしますが、問題は、30秒以上かそこらを取る仕事があるたびに、それはEXECUTE_COMMANDから出てくることはありませんということです。タイムアウトも機能しません。
ss -t | less
を実行してソケットアクティビティをチェックすると、そのコマンドに関するssh接続はまだ有効です。そして、私はそれを殺すまで、それは活動的なままです。それは決して死ぬことはありません。
誰でも私にこれを手伝ってもらえますか?私はそれが出てきてタイムアウトが働くようにしたい。