離れた場所にある機器を監視するためにGraphiteサーバーを実行しています。サーバーからマシンへの「永続的な」sshトンネル(autosshが大好き)があり、ローカルポートをサーバーのローカルポートにマップしています。これはうまく機能し、データは手間をかけずに通過します。ただし、サイトへの不安定な衛星接続を使用します。これはかなり定期的に停止します。Pythonを実行している機器で「データクローラー」を実行しており、ソケットを使用してパケットをGraphiteサーバーに送信しています。問題は、リンクが一時的にダウンした場合(または、ほとんどの場合テストのためにサーバーが再起動した場合)、サーバーへの接続を再確立できないことです。エラーをトラップし、socket.close()を実行してから再度開きますが、接続を再確立できません。Pythonプログラムを終了して再起動すると、接続は正常に起動します。
質問する
1247 次