Linux上で
——————————–
 (1)MySQLからデータ取得
 (2)ファイル加工処理(数時間以上)
 (3)MySQLにデータ格納
 (4)1に戻る
 ——————————–
という処理を走らせていたら、たまに処理がストップしました。
 エラーメッセージを見ると処理(2)と(3)の間で
mysql server has gone away
という文字が。
  
 調べてみるとどうやらMySQLがタイムアウトで接続が切れてしまった模様。
 デフォルトでは8時間で切れるみたいです。
つまり(2)のファイル加工処理で8時間以上かかってしまった場合に処理が止まっていた、と。
なので、my.cnfをいじって
wait_timeout=86400
interactive_timeout=86400
interactive_timeout=86400
とタイムアウトの時間を24時間に変更。
変更はここを参考にしました。
MySQLのチューニング? – satospo 
 http://satospo.sakura.ne.jp/blog_archives/tech/linux_server/mysql4_tune.html
これで処理が止まらないようになりました。
 
  
 

