WaitForWaitGroup
Blocks until the wait group is complete (completed_jobs == counter) or until timeout_seconds
elapses. Many callers can wait on the same group at once; all of them are released together.
Safe to retry — a timed-out caller can simply call again; the group continues to make progress in the background.
Request
- The call blocks server-side, so set client/RPC timeouts comfortably above
timeout_seconds.
{
"namespace_name": "pipelines",
"wait_group_name": "batch_2026_06_12",
"timeout_seconds": 300
}
Response
- Returns
NotFoundif the namespace does not exist. - Returns
NotFoundif the wait group does not exist. - The
outcomeenum reports why the call returned:WAIT_GROUP_WAIT_OUTCOME_COMPLETEDmeans all jobs completed (itsstatusis thenCOMPLETED),WAIT_GROUP_WAIT_OUTCOME_EXPIREDmeans the group’sexpires_atpassed while still active (itsstatusis thenEXPIRED), andWAIT_GROUP_WAIT_OUTCOME_TIMED_OUTmeanstimeout_secondselapsed while the group was still active.
Completed before timeout:
{
"wait_group": {
"name": "batch_2026_06_12",
"status": "COMPLETED",
"counter": 110,
"completed_jobs": 110,
"expires_at": 1718236800000000000,
"finished_at": 1718150700000000000,
"last_activity_at": 1718150700000000000
},
"outcome": "WAIT_GROUP_WAIT_OUTCOME_COMPLETED"
}
Timeout fired first:
{
"wait_group": {
"name": "batch_2026_06_12",
"status": "ACTIVE",
"counter": 110,
"completed_jobs": 73,
"expires_at": 1718236800000000000,
"last_activity_at": 1718150480000000000
},
"outcome": "WAIT_GROUP_WAIT_OUTCOME_TIMED_OUT"
}