私は、24 時間 365 日稼働する Perl ソフトウェアを持っています。IMAP サーバーへの接続を開いたままにし、新しいメールをチェックしてから、新しいメッセージを分類します。
現在、XPラップトップを時々休止状態にしているユーザーがいます。これが発生すると、サーバーへの接続が失敗し、例外がトリガーされます。通常、呼び出し元のコードはその例外をキャッチし、再接続を試みます。しかし、この場合、Windows (または Perl?) が例外をキャッチし、メッセージ ボックスを介してユーザーに配信しているようです。
そのようなwtfを防ぐ方法を知っている人はいますか?私のコードは「システムが休止状態になりそうです」というシグナルをキャッチできますか?
すでに提起したいくつかのポイントをクリアするには:
- ユーザーがマシンを休止状態にすることに問題はありません。それに対処する方法を見つける必要があります。
- 問題の Perl モジュールは例外をスローします。アプリケーションは完全にブラウザ ベースで、Wx や Tk などは使用しませんが、ユーザーは「poll_timer」というタイトルのメッセージ ボックスを受け取ります。そのメッセージ ボックスの内容はまさにその内容です。 $@ の (この例では 'foo bar')。
- アプリケーションは、perlappを使用して実行可能ファイルにコンパイルされます。ただし、ドキュメントには例外処理については何も言及されていません。