ほぼ毎秒更新されるデータベースに大きなテーブルがあります。このテーブルを 5 秒ごとにクエリして、最新のエントリ (ライブ ストリーミング) を取得したいと考えています。
mysql が停止するため、各訪問者 (5 秒ごとに ajax ポスト リクエスト) のデータベースにクエリを実行できません。これが、ファイルをキャッシュする必要がある理由です。javascript を使用するビジターが 5 秒ごとにファイルを開いたり、読み取ったり、閉じたりするよりも、ファイルにデータを書き込んでいます。
すべて正常に動作しますが、cronjob + sleep に問題があります。
cpanel では、5 秒の cronjobs を設定できません。これが、5 秒のスリープ内で 12 サイクルの for() を実行している理由です。
for($i = 0; $i <12; $i++){
mysql_query() /// writing in file, etc.
sleep(5);
}
問題は、これによりサーバー全体が 60 秒間フリーズすることです。cronjob php ファイルだけでなく、Web ページ全体がタイムアウトします。
私は何をすべきか?私はそれを正しくやっていますか?