※ ChatGPTを利用し、要約された質問です(原文:Cronで同じ処理を複数同時に実行するには?)
Cronで同じ処理を複数同時に実行する方法は?
このQ&Aのポイント
PHPで作られたWebサービスで、ユーザーごとに毎日0時に処理を実行するCronを作りたい。
1人ずつ処理すると50分の処理時間がかかってしまうため、一度に100人分の処理を行うのは難しい。
しかし、共用のレンタルサーバーレベルでは100人分の同時処理は現実的ではないため、設計を見直す必要がある。
PHPで作ったWebサービスがあります。
ユーザーが100人いたとします。
この100ユーザーそれぞれのデータを、毎日0時(例えば)になると処理をするというCronを作りたいです。
PHPファイルは1ユーザー分の処理をするので、Cronで毎日0時に指定すると1人分の処理しかできません。
ではユーザー毎にCronを100個作るのは得策ではないと思います。
「一つのCron実行で100人分処理すれば?」というご意見もあるかもしれませんが、
1人分の処理が3~30秒かかるので、レンタルサーバーの1実行当たりの動作時間を超えてしまう問題があります。
毎日0時に100人分の処理を実行するのは無理なのでしょうか?
そもそも共用のレンタルサーバーレベルでは、100人分の同時処理というのは現実的ではないでしょうか?
そうすると、1人ずつ処理していくと、30秒×100人=50分の処理時間が必要になります。
こういう場合はどのように設計すれば良いのでしょうか?
どうぞよろしくお願い致します。
お礼
ありがとうございます! wgetというのは初めて知りました。 あと説明不足ですみません。 データベース(MySQL)にユーザーIDがあり、各ユーザーに対して毎日0時くらいに同時に更新を掛けたいと思っています。 サーバーの負荷を考えながら並列化の検討ということですね。