paperclipai/paperclip · error · JobTimeoutError
Job ${namespace}/${name} did not complete within ${timeoutMs
Error message
Job ${namespace}/${name} did not complete within ${timeoutMs}ms What it means
Error "Job ${namespace}/${name} did not complete within ${timeoutMs}ms" thrown in paperclipai/paperclip.
Source
Thrown at packages/plugins/sandbox-providers/kubernetes/src/job-orchestrator.ts:106
name,
propagationPolicy: "Foreground",
});
}
export async function waitForJobCompletion(
clients: KubeClients,
namespace: string,
name: string,
opts: { timeoutMs: number; pollMs?: number } = { timeoutMs: 120_000, pollMs: 2000 },
): Promise<JobStatus> {
const deadline = Date.now() + opts.timeoutMs;
const pollMs = opts.pollMs ?? 2000;
while (Date.now() < deadline) {
const status = await getJobStatus(clients, namespace, name);
if (status.phase === "Succeeded" || status.phase === "Failed") return status;
await sleep(pollMs);
}
throw new JobTimeoutError(namespace, name, opts.timeoutMs);
}
function sleep(ms: number): Promise<void> {
return new Promise((resolve) => setTimeout(resolve, ms));
}
/**
* Job-backed conformance to SandboxOrchestrator. Plugin.ts imports THIS value
* (the swap point) — to use a different backend, swap this import for another
* module exposing a SandboxOrchestrator-shaped default export.
*/
export const jobOrchestrator: SandboxOrchestrator = {
claim: createJob,
getStatus: getJobStatus,
findPod: findPodForJob,
streamLogs: streamPodLogs,
release: deleteJob,
waitForCompletion: waitForJobCompletion,View on GitHub (pinned to 120ae5428f)
Solutions
- Increase the timeout or inspect the job/pod logs in the reported namespace for the hang cause.
When it happens
Trigger: Thrown at packages/plugins/sandbox-providers/kubernetes/src/job-orchestrator.ts:106 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of paperclipai/paperclip@120ae5428f (2026-08-18).
Data as JSON: /api/errors/e3e246ab9b082b6a.
Report an issue: GitHub.