タイトルが少し一般的かもしれませんが、要件は次のとおりです。
グループメール機能があります。場合によっては、何百人もの顧客に大量に送信されるため、何百回も回覧する必要があります。同時に、この送信の進捗状況をリアルタイムで確認し、送信されたメールの数を動的に表示するページもあります。プロセス ID はメールを送信するたびに異なります。
表示ページの現在の処理ロジックは、ajax を介してメール テーブル内のこのプロセスに属する ID の総数を定期的にクエリし、表示するページに戻ることです。これはあまりにも非効率的だと感じます。何度も送信して確認してください。他に良い方法はありますか?
ループ内のSessionに現在のループ数を書き込んで、Sessionの値を直接読み取るページを表示してみましたが、毎回最終結果が表示されてしまいます。
私は php スレッドについてはまだあまり知りません。お知らせ下さい。
memchche またはその他のキャッシュは便利ですか? ループ スクリプトにキャッシュを記述します。ページの ajax リクエストのバックグラウンド読み取りキャッシュを表示します。 html5のlocalStorageを試してみます。大丈夫かどうかはわかります。
普通のやり方では、良い方法はありません。ポスターによって複雑になることはお勧めしません。リアルタイム性はそれほど高くありませんが、プロジェクトの要件を満たすには十分な進捗状況を取得するために、引き続き ajax + データベースを使用することをお勧めします。マルチスレッドを使用して電子メールを送信すると、はるかに効率的になります。