0

ほぼ毎秒更新されるデータベースに大きなテーブルがあります。このテーブルを 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 ページ全体がタイムアウトします。

私は何をすべきか?私はそれを正しくやっていますか?

4

1 に答える 1