私は現在、自分のプロジェクトの実績システムを計画しています。ユーザーが実際にアチーブメント ページにアクセスすると、アチーブメントのロックが解除され、未完了のアチーブメントには進行状況が表示されます。
一部のアチーブメントの進行状況の計算には時間がかかる場合があります。私はこのアイデアを思いつきましたが、それを実装する方法、またはそれが可能かどうかさえわかりません:
- JavaScript は AJAX 経由で実績データをリクエストします
- PHP が達成度の計算を開始
- 実績ごとに、次の形式の行が出力ストリームに書き込まれます。
ID:progress
- JavaScript は各行を受け取り、指定された実績の進行状況を表示します
responseText
最後に一度にすべてではなく、到着時にAJAXに1行ずつ読み取らせるにはどうすればよいですか?
さらに、可能であれば、PHP を次のようにスレッド化したいと考えています。
- 各実績について:
- N 個を超える「スレッド」がある場合は、1 つが終了するまで待ちます
- スレッドを分岐して現在の実績を計算し、結果行をエコーする
そのようなことはPHPで可能ですか?
それとも、私はこれを完全に間違った方法で行っていますか? 実績のグループごとに AJAX リクエストを送信するだけでよいですか? それとも実績ごとに 1 つですか?代替案として何を提案しますか?