ポータルとベンチマーカーを実行する「runner」の通信を担当する。gRPCを使用する。
protobufのコード生成を行うためには、buf
が必要。公式のインストール方法のドキュメントを参照すること。
コード生成を行わない場合、bufは不要。
task proto:gen
もしくは
buf generate
buf
を使用する。
- runnerがポータルにベンチマーカーキューの先頭を問い合わせる。ポータルは先頭のベンチマークIDを返す。(
GetBenchmarkJob
)- キューが空の場合は、一定時間待機して再度問い合わせる。
- runnerはベンチマークを実行し、client streamを使って一定時間ごとに結果をポータルに送信する。(
SendBenchmarkResult
) - ベンチマークが終了したら、runnerはポータルにベンチマークが終了したことを通知する。(
PostJobFinished
) - 1に戻る。