PHPプログラムのバッチ処理で、CSVのデータを随時読み込みながら、MySQL(AWS RDB)へSQLを発行しています。
その数、100万件・・・
全部の処理が終わるのに、5・6時間程度かかってしまいます。
EC2、RDB共に一番格安のインスタンスなので・・・
まあ、バッチ処理なので夜間の間に正常に動いていてくれさえすれば問題無し!
そんな気持ちで開発していたところ・・・
MySQL server has gone awayエラーで、プログラムが途中で終了してしまっています。
いろいろ調べたところ
ini_set( ‘mysql.connect_timeout’, 86400 );
ini_set( ‘default_socket_timeout’, 86400 );
のように、各PHPの設定値を変更すれば良いとのことでした。
後、定期的にMySQLデータベースへの接続を、再接続し直すと良いらしい・・・
それらを試したところ、問題なくインポートのバッチ処理が完了していました。
解決して良かったです。