0

MySQL DB にデータを書き込むための Perl スクリプトがあり、問題なく動作します。問題は、MySQL DB への接続がタイムアウトまたは失敗した場合に、準備されたクエリをローカル ファイルに記録する適切な方法があるかどうかです。接続が失敗またはタイムアウトした場合、Perl-DBI obj は MySQL ステートメントの準備を許可しますか?

ありがとうございました!

ブラッド

4

1 に答える 1

1

DBI や MySQL クライアントに組み込まれているようなものはありません。エッジ/例外ケースの多くは実際にはアプリケーション固有であるため、一般的な方法で正しく機能させることも困難です。

この種のことは、物事がすでにうまくいっていないときにのみ比較的複雑なことをしているため、エラーが発生しやすくなります。MySQL が利用できないことが一般的なケースであるか、エラーが発生した場合に停止/タイムアウト/再試行することが重要すぎる場合は、エラーの処理に適した別のストリームに (常に) データを書き込むことができるかどうかを確認してください。たとえば、それをローカル サーバーの scribe にプッシュし、別のプログラムに scribe からデータを読み取らせて、MySQL を挿入/更新することができます。Scribe は、ディスクへのローカル バッファリングなどを処理します。

もちろん、さまざまなエラー シナリオでさまざまなトレードオフがあります。

于 2012-06-01T00:23:16.367 に答える