Workflows Behind the Scenes

How Render Workflows power this application

What are Render Workflows?

Render Workflows let you run background tasks that can be triggered by cron schedules, API calls, or manual actions. Tasks can coordinate with each other, run in parallel with concurrency limits, and handle retries automatically.

Triggers

Cron schedules, API calls, or manual button clicks can start a workflow.

Tasks

Individual units of work with configurable timeouts, retries, and error handling.

Orchestration

Tasks can spawn other tasks, run in sequence, or execute in parallel with limits.

How This App Uses Workflows

Watch how the daily job orchestrates the entire pipeline: pinging LLMs, analyzing responses, and generating digests. Use the controls to step through each phase.

1 / 8

Cron Job Fires

Every day at midnight, the Render Cron Job triggers the daily workflow.

midnightstep 1step 2step 3spawnsspawns
Trigger
Orchestrator
Parallel
Task
Click a trigger to switch flow
TRIGGER

Cron Job

Scheduled trigger that runs daily at midnight

Schedule
0 0 * * * (midnight)
How
Render Cron Job service

Under the Hood

Triggering Tasks

Tasks are triggered via the Render API:

POST https://api.render.com/v1/task-runs
{
  "task": "workflow-slug/task-name",
  "input": { ... }
}

Concurrency Control

Batch tasks use semaphores to limit parallel execution:

const CONCURRENCY = 10;
const sema = new Sema(CONCURRENCY);

await Promise.all(items.map(async (item) => {
  await sema.acquire();
  try {
    await processItem(item);
  } finally {
    sema.release();
  }
}));