2 つの PHP スクリプトを作成しました。1 つ目は、API 関数を呼び出して別のシステムにユーザーを追加することです。別のスクリプトが FTP に接続し、ファイルをダウンロードして分析します。火曜日に、PHP スクリプトを実行する 2 つの cron ジョブをスケジュールしました。サーバー プロバイダーからメールが届き、サーバーの CPU 使用率が最大 100% であることが通知されました。
サーバー上のプロセスを一覧表示すると、次のように表示されます。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 11323 30.5 0.8 99756 18120 ? Rs May14 1009:18 /usr/bin/php PATH TO MY PHP SCRIPT
root 11456 30.3 0.8 99756 18120 ? Rs May14 1000:21 /usr/bin/php PATH TO MY PHP SCRIPT
ブラウザでスクリプトを実行すると、すべてが完全に機能し、スクリプトは完了したことを知らせてくれます。私のスクリプトにはループがありません。
興味深いのは、値1009:18からわかるように、スケジュールされた cron ジョブが完了していないことです。
誰かが同様の問題を抱えていましたか?ブラウザを使用しているときにスクリプトの実行に 4 秒かかる場合、cron ジョブの実行に時間がかかるのはどうしてですか?