さくらサーバーで、自分の勉強用にヤフーから株価をMYSQLへ入れるだけのcron.phpを動かしていました。この度サーバー替えで、エックスサーバーへ移行し同じcron.phpを動かしたところ、実行はされるのですが途中(7割くらい)で止まってしまいます。もちろんさくらでは最後まで動いてくれていました。(最初からデータ挿入完了まで30分くらい)
情報不足なのは承知ですが、何か考えられることはありますでしょうか?
どうぞよろしくお願いします。
http://q.hatena.ne.jp/1432284272
雰囲気だけなんですが、この質問と似たようなケースなんじゃないかな、という気がします。
その質問では、質問者の反応はないし、用語の使い方が怪しいので、詳しいところは分からないんですけれど、回答にある php.ini の max_execution_time を使い切ったというのはありそうな感じです。
php のドキュメントだとはっきりとは書いてありませんが、実時間ではなく CPU の使用時間だと思います(sar で言うところの usr の時間)。
質問で書かれているような処理だと、処理の大半は iowait で使われると思います。
トータルの処理時間 30分のうち、usr は 1分以内というのはありそうな感じだし、それをデフォルトの 30秒だと半分くらいしか処理できないというのもありそう。
xserver では php.ini の設定を変えられるようなので、少し増やして様子を見てみたらどうでしょうか。
https://www.xserver.ne.jp/manual/man_server_phpini_edit.php
http://www.xserver.ne.jp/manual/man_server_phpini_setting_item.php
両サーバー共同じ数値だったのでスルーしてしまいましたが、この可能性が高そうですね。
2015/06/19 01:31:41明日試してみたいと思います。
max_execution_timeは関係ありませんでした。
2015/06/20 00:04:35サーバーに高付加と判断されて止められてるのかもしれません。