1

数十万件のレコードをリモートの MySQL サーバーからローカルのサーバーに変換する PHP スクリプトを実行しています。転送中に数回、error_logs が表示されます...

[Wed Jul 03 17:02:36 2013] [notice] Graceful restart requested, doing restart
[Wed Jul 03 17:02:37 2013] [notice] SSL FIPS mode disabled
[Wed Jul 03 17:02:37 2013] [notice] Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_bwlimited/1.4 PHP/5.3.16 configured -- resuming normal operations

まれで、理由がわかりませんが、スクリプトは何事もなかったかのように続行されているようです。データが失われたかどうかをテストするのは非常に面倒です。だから、MySQL クエリが中断された場合はどうなるのだろうか? また、PHP が再起動を完全に無視して、何も起こらなかったかのように実行し続けるように見えるのはなぜですか? どのように/何をテストするかについて何か考えはありますか?

4

1 に答える 1

2

これは PHP のログではなく、Apache のログです。スクリプトはおそらく CLI (コマンド ライン) で実行されているため、Apache を再起動しても影響はありません。それ以外の場合-k gracefulは、子プロセスを完了できるように再起動された可能性があります。

だから、MySQLクエリが中断されたらどうなるのだろうと思っています

MySQL が再起動されると、スクリプトは失敗します (プログラマーがその状況に対処するために特別に堅牢なエラー処理を組み込まない限り)。

于 2013-07-03T15:21:32.430 に答える