tasks.do

Task Queues That Scale Infinitely

Distributed task processing with automatic retries, priority queues, and intelligent scheduling. Handle millions of jobs per second with durable execution, dead letter queues, and sub-100ms latency.

Read the docs
index.tstasks.do
import { Tasks } from 'tasks.do' // Durable task queue with priority and retriesconst EmailQueue = Tasks.queue('emails', {  concurrency: 1000,  retry: { maxAttempts: 3, backoff: 'exponential' }}) await EmailQueue.enqueue({ to: user.email, priority: 'high' }) EmailQueue.process(async job => await sendEmail(job.data)) // Intelligent error handlingon.Task.failed($ => {  if ($.data.attempts >= 3) $.Task.send.DeadLetter({ reason: $.data.error })})

One of 48 primitives

tasks.do sits in Workflows: triggers, steps and functions. Every .do shares one grammar, Business-as-Code, and one SDK.

Business

Goals, plans and the work itself

Workflows

Triggers, steps and functions

Data

Records, vocabulary and search

Insight

Measure, test and trace

Build

Ship from code, CLI or MCP

Frequently asked questions

Build your 1-person unicorn

Write the business. Agents run it around the clock.

Read the docs