MCPcopy
hub / github.com/coder/mux / waitForWorkspaceTaskStatus

Function waitForWorkspaceTaskStatus

src/node/services/taskService.test.ts:116–133  ·  view source on GitHub ↗
(
  config: Config,
  workspaceId: string,
  expectedStatus: WorkspaceConfigEntry["taskStatus"],
  timeoutMs = 20_000
)

Source from the content-addressed store, hash-verified

114}
115
116async function waitForWorkspaceTaskStatus(
117 config: Config,
118 workspaceId: string,
119 expectedStatus: WorkspaceConfigEntry["taskStatus"],
120 timeoutMs = 20_000
121): Promise<void> {
122 const start = Date.now();
123 while (findWorkspaceInConfig(config, workspaceId)?.taskStatus !== expectedStatus) {
124 if (Date.now() - start > timeoutMs) {
125 const actualStatus = findWorkspaceInConfig(config, workspaceId)?.taskStatus;
126 throw new Error(
127 `Timed out waiting for workspace task status (workspaceId=${workspaceId}, expected=${String(expectedStatus)}, actual=${String(actualStatus)})`
128 );
129 }
130
131 await new Promise((resolve) => setTimeout(resolve, 10));
132 }
133}
134
135async function waitForWorkspaceRemoval(
136 config: Config,

Callers 1

Calls 1

findWorkspaceInConfigFunction · 0.85

Tested by

no test coverage detected