npx skills add ...
npx skills add render-oss/skills --skill render-background-workers
Sets up and configures background workers on Render for queue-based job processing. Use when the user needs to process async jobs, consume from a queue, run Celery/Sidekiq/BullMQ/Asynq/Oban workers, handle graceful shutdown with SIGTERM, wire a worker to Key Value, or choose between workers and cron jobs for background work. Trigger terms: background worker, async jobs, queue consumer, Celery, Sidekiq, BullMQ, Asynq, Oban, job processing, SIGTERM, graceful shutdown.
npx skills add render-oss/skills --skill render-background-workers
This skill explains worker services on Render: processes that consume jobs from a queue instead of serving HTTP. Pair with render-blueprints, render-env-vars, and render-networking when wiring render.yaml and private connectivity.
Per-framework setup and signal-handling detail: references/queue-framework-setup.md, references/graceful-shutdown.md.
Before deploying, restarting, or changing shutdown behavior, read references/deployments.md.
Before configuring or troubleshooting a worker's outbound private-network connection, read references/private-networking.md.
When choosing between a worker, cron job, and Workflow, read references/service-types.md.
| Framework | Language | Queue backend | Notes |
|---|---|---|---|
| Celery | Python | Key Value | Most common Python task queue |
| Sidekiq | Ruby | Key Value | Standard for Rails |
| BullMQ | Node.js | Key Value | Modern Node queue |
| Asynq | Go | Key Value | Go async task processing |
| Oban | Elixir | Postgres (not a Key Value queue) | Queue stored in the database |
noeviction. allkeys-lru and similar policies are for caches; evicting queue keys drops jobs.REDIS_URL (or your framework’s equivalent) via fromService with type: keyvalue and property: connectionString in the Blueprint.ipAllowList on Key Value—include the CIDRs that should reach the instance (often [] for private-network-only access; see render-blueprints / Key Value field reference).See references/queue-framework-setup.md for minimal app + YAML examples.
| Need | Use | Why |
|---|---|---|
| Always-on queue consumer | Background Worker | Polls continuously; long-lived process |
| Periodic scheduled task | Cron Job | Runs on a schedule, exits; 12h max per run |
| Distributed parallel compute | Workflow | Each run gets its own instance; fan-out patterns |
| High-volume or bursty jobs | Workflow | Scales per run without a continuously running worker instance |
references/deployments.md for Render's current drain, signal, and shutdown-delay behavior.Language- and framework-specific handlers: references/graceful-shutdown.md.
Minimal pattern: type: worker, runtime, buildCommand, startCommand, and envVars wired from Key Value.
Optional: maxShutdownDelaySeconds on the worker service for longer draining jobs.
| Topic | File |
|---|---|
| Celery, Sidekiq, BullMQ, Asynq, Oban setup + YAML | references/queue-framework-setup.md |
SIGTERM, maxShutdownDelaySeconds, per-language patterns | references/graceful-shutdown.md |
| Deploy lifecycle, shutdown, restart, and verification | references/deployments.md |
| Private-network scope, internal addresses, and troubleshooting | references/private-networking.md |
| Service-type selection and execution models | references/service-types.md |
render.yaml schema, fromService, projectsWhenever this skill directs you to consult current Render documentation:
curl. Do not substitute web-search summaries for the document.When a task requires multiple references, apply this workflow to each one and distinguish the documents you verified from those that remain unavailable.