裏話:
Ruby 1.8.6 で書かれた古いスクリプトで、ftp への接続を開き、構成ファイルをダウンロードします。Windows ftp サーバーを使用する特定のクライアントでは、スクリプトがハングします。ログは、ftp への接続を開いた後、書き込みを停止します。これは古いスクリプトで、Ruby で書かれており、私はその専門家ではありません。
私が試したこと:
そこで、このタイムアウトの実装を試して、ftp接続がこのコードでハングアウトするかどうかを確認しました
Timeout::timeout(5) {
ftp = Net::FTP.new(host,pass,host)
}
問題は、これが機能していないことです。私の推測では、インタープリターは接続を開くときに停止し、インタープリターがスタックしているため、タイムアウトによって接続が切断されません。
それが問題である可能性はありますか?
おそらく別の解決策があるかどうか、または私が何か間違っているかどうか教えていただけますか?
それについての詳細情報:
この問題は、月に一度のように発生します。せいぜい2回みたいな。クライアントから ftp サーバーのログが送られてきましたが、問題はないようです。まったく理由もなくFTPがそこでハングアップするだけです...