全体で20000件ほど処理対象があるのですが、(だいたい)120件以上同時に処理をすると落ちてしまいます。
GETでスタートとエンドを指定できるので、下記のように100件ずつ、ブラウザでひとつひとつURLをたたけば動作します。
http://sample.com/sample.php?Start=0&end=99
http://sample.com/sample.php?Start=100&end=199
http://sample.com/sample.php?Start=200&end=299
....
ただし、定期的に実行したい処理なのでこれでは運用できません。
javascriptで次々パラメータを変えて呼び出すことも考えましたが、夜間にcron実行することも想定していますので、javascriptは使えません。
100件の処理を終えたのをハンドリングして、次の処理をする。そしてまたそれが終わったら次の処理をするという構成を作れれば解決するのかと思っています。
どういうやりかたをすればいいか、教えて頂けないでしょうか。
PHPバージョンは5.2
サクラレンタルサーバーのスタンダードプランです。
http://www.gnu.org/software/wget/wget.html
wgetがあるなら、
http://sample.com/sample.php?Start=0&end=99
http://sample.com/sample.php?Start=100&end=199
http://sample.com/sample.php?Start=200&end=299
......
のようなlist.txtというファイルを作り、
wget -i list.txt
でOKです。
これならシェルスクリプトやバッチファイルでもできるのでcronやタスクスケジューラからの実行も可能です。
どのようなプログラムなのか判らないので
確実な回答はできませんが、
スクリプトの最後で
header("Location: http://sample.com/sample.php?Start=$start&end=$end");
のようにすることでしょうか。
$start, $endには次に実行する番号を入れておきます
また、どの値になったら終了するか、終了条件を明示する必要があります
それから、このような方法で処理を分断したとしても
CPU負荷が高いと見なされ、レンタルサーバ業者からスクリプトの使用中止を指示される可能性が高いですね