Files
wehub-resource-sync 70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:11 +08:00

25 lines
744 B
TypeScript

import { getWorkerRegistry } from "miniflare";
/**
* Poll the dev registry until all expected workers are registered.
* This avoids flakey tests that rely on fixed timeouts.
*/
export async function waitForWorkersInRegistry(
registryPath: string,
expectedWorkers: string[],
timeoutMs = 5000
): Promise<void> {
const startTime = Date.now();
while (Date.now() - startTime < timeoutMs) {
const registry = getWorkerRegistry(registryPath);
const registeredWorkers = Object.keys(registry);
if (expectedWorkers.every((w) => registeredWorkers.includes(w))) {
return;
}
await new Promise((resolve) => setTimeout(resolve, 50));
}
throw new Error(
`Timed out waiting for workers to register: ${expectedWorkers.join(", ")}`
);
}