Skip to content

docs: clarify serverless worker lifecycle and what Idle means - #895

Merged
lavanya-gunreddi merged 5 commits into
mainfrom
docs/serverless-worker-lifecycle
Oct 15, 2026
Merged

lavanya-gunreddi merged 5 commits into
mainfrom
docs/serverless-worker-lifecycle

Conversation

@justinwlin

Copy link
Copy Markdown
Collaborator

The docs used "idle" for two opposite things:

  • Idle (console worker state): scaled down, not running, not billed.
  • Idle timeout: the worker is still running and waiting for the next job, billed. The console shows these workers as Running.

This PR keeps "Idle" for the console state only and calls the idle-timeout window waiting.

Changes

  • serverless/workers/overview.mdx: new Worker lifecycle section with a state diagram (scaled down vs running, and which part is billed). Rewritten states table. Outdated is described as a version-column tag, not a state.
  • The same wording is applied across Serverless pricing, endpoint configurations, job states, overview, optimization, benchmarking, troubleshooting, rolling releases, the cold-start tooltip, and the Flash execution-model, pricing and parameters pages.
  • Consistent definitions:
    • Cold start: from worker start until the handler is ready.
    • Delay time: from queued until picked up; includes any cold start.
  • Troubleshooting: Throttled means the host's GPUs are in use. It does not mean rate limits.
Source of truth (code)
  • Billing runs while pod desiredStatus is RUNNING, from resume to stop: runpod-backend/node/podBillingWorker/helper.ts:120-142.
  • Idle timeout is enforced through empty job-take polls, then StopPod: ai-api/pkg/api/jobTake.go:356-366,413-449.
  • /health uses idle/ready for EXITED pods with a cached image: ai-api/pkg/api/health.go:76-120.
  • The console labels a pod Running when desiredStatus === "RUNNING" and Idle when the pod is stopped and ready: main-ui/console/src/features/Serverless/Endpoint/WorkerWidget.tsx:47-67.
  • The image is pulled while the pod is EXITED: host/pkg/syncimages/images.go:158-305.

@mintlify

mintlify Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
runpod-docs 🟢 Ready View Preview Oct 15, 2026, 7:01 PM

💡 Tip: Enable Automations to automatically generate PRs for you.

…timeout

The console's Idle state means a scaled-down, unbilled worker, while the
idle timeout is a running, billed worker waiting for its next job. Docs
used 'idle' for both. Add a lifecycle diagram, align state, cold start,
delay time and billing wording across Serverless and Flash pages.
@lavanya-gunreddi
lavanya-gunreddi merged commit 2f2d9b8 into main Oct 15, 2026
2 checks passed
@lavanya-gunreddi
lavanya-gunreddi deleted the docs/serverless-worker-lifecycle branch October 15, 2026 19:02

This branch was successfully deployed

1 active deployment
staging — 6238d2c5 Deployed Oct 15, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants