レポート生成の進行状況を示すプログレスバーを実装する必要があります。問題は、生成によって生成されたイベントに基づいてレポートの進行状況のパーセンテージを表す必要があることですが、最初にイベントの合計量を知る必要がないため、たとえばレポートの生成により、次のイベント (フェーズ) が送信されます。
- Starting Report generation
- Start Query execution
- End Query execution
- Start Report Rendering
- End Report Rendering
- End Report Generation
この例では、合計 3 つのタスクと 6 つのイベントがあります。タスクの総数はわかりませんが、イベントの総数がタスクの数の 2 倍であることはわかっています。
どのイベントが存在し、いくつあるかはわかりませんが、進行状況をプログレス バーで表す必要があるため、0 から 100 までの数値を使用します。
どのように計算できますか?進行を表す最良の方法は何ですか?