-1

削除される古いサーバーからレガシー Perl スクリプトを継承しました。スクリプトは新しいサーバーに実装する必要があります。新しいサーバーに入れました。

スクリプトは非常に単純です。expect と ssh を介してネットワーク デバイスに接続し、データを収集します。デバッグの目的で、デバイスからインターフェイスのリストを収集する部分のみを使用しています。

新しいサーバーのスクリプトは、ページをリロードしてから約 5 秒以内に常にページを表示します。まれに、リモート デバイスからのインターフェイスのリストが含まれます。最も一般的には、インターフェイスのリストを除くすべての HTML 要素が含まれています。

現在、古いサーバーでは、スクリプトがデータを出力するのに 20 秒かかる場合がありました。それは大丈夫でした。

これに基づくと、Perl スクリプトがデータを返し終わる前に、新しいサーバーの apache がデータを表示しているように見えますが、それは確かに正しくない可能性があります。

追加情報: 残念ながら、コードを投稿することはできません - 仕事の方針。ただし、expect の問題ではないと確信しています。予期される部分は、expect() または die('error msg') として記述されており、エラー メッセージが表示されません。ただし、expect timeout を 0 に設定すると、エラー メッセージが表示されます。

通常、スクリプトで使用されるタイムアウト値は 20 秒ですが、前述したように、apache は約 5 秒後にスクリプトから静的コンテンツを表示し、95% の時間で、expect から取得する必要があるコンテンツを表示しません。 . さらに、ページに表示されていない場合でも、スクリプトは期待されるコンテンツをドライブ上のファイルに書き込みます。

4

2 に答える 2

3

Perl CGI スクリプトのトラブルシューティングガイドを Stackoverflowに追加しました。:)

于 2010-01-29T20:49:14.167 に答える
1

CGI::Inspectを試してみてください。自分で試す必要はありませんでしたが、YAPC でデモンストレーションを見ましたが、すばらしかったです。

于 2009-11-18T20:22:37.750 に答える