render-background-workers

Configure Render background workers for queue-based job processing with graceful shutdown.

Updated Jul 15, 2026
One-click install
npx skills add https://github.com/greenmartialarts/EventCore --skill render-background-workers-greenmartialarts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: render-background-workers
Source: https://github.com/greenmartialarts/EventCore/tree/main/.junie/skills/render-background-workers
Command: npx skills add https://github.com/greenmartialarts/EventCore --skill render-background-workers-greenmartialarts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Setting up background workers on Render requires correct queue broker wiring, framework-specific start commands, and SIGTERM handling so in-flight jobs are not lost during deploys or restarts. ## Core Features & Use Cases - Queue Framework Setup: Provides minimal app code and render.yaml Blueprint patterns for Celery, Sidekiq, BullMQ, Asynq, and Oban workers wired to Render Key Value or PostgreSQL. - Graceful Shutdown Guidance: Explains SIGTERM handling, maxShutdownDelaySeconds tuning, and per-language drain patterns so jobs finish or checkpoint before SIGKILL. - Service Type Selection: Compares Background Workers, Cron Jobs, and Workflows so you pick the right compute model for always-on consumers, scheduled tasks, or bursty parallel jobs. - Use Case: You are deploying a Celery worker that consumes jobs from Render Key Value; use this Skill to wire REDIS_URL via fromService, set the noeviction maxmemory policy, and add a SIGTERM handler aligned with maxShutdownDelaySeconds. ## Quick Start Ask the assistant to set up a Celery background worker on Render connected to a Key Value instance with graceful shutdown configured.

Frequently Asked Questions about render-background-workers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a background worker on Render?

Create a service with type: worker in render.yaml, specifying runtime, buildCommand, and startCommand for your queue framework. Wire the broker connection string (for example REDIS_URL) from a Key Value instance using fromService with property: connectionString.

How do I connect Celery or BullMQ to Render Key Value?

Provision a Key Value instance and pass its connectionString to the worker as REDIS_URL via fromService in the Blueprint. Set the maxmemory policy to noeviction so queue keys are never evicted like cache entries, which would drop jobs.

Should I use a Render background worker, cron job, or workflow?

Use a background worker for always-on queue consumers that poll continuously, a cron job for periodic scheduled tasks that exit within 12 hours, and a workflow for distributed parallel compute or bursty high-volume jobs that scale per run.

How does graceful shutdown work for Render workers?

Render sends SIGTERM, waits up to maxShutdownDelaySeconds (1-300, default 30), then sends SIGKILL. Workers should stop dequeuing new jobs, finish or checkpoint the current job, close connections, and exit with code 0 within that window.

Can Render background workers receive inbound network traffic?

No, Render workers have no public URL or internal hostname and cannot receive private network traffic directed at them. They can initiate outbound connections to PostgreSQL, Key Value, private services, and the public internet.

Does Oban use Redis on Render?

No, Oban stores its queue in PostgreSQL, not Redis. Provision a Render PostgreSQL database and wire DATABASE_URL via fromDatabase; do not point Oban at Key Value unless using an experimental custom backend.