Writing tasks: Overview
Tasks are the core of Trigger.dev. They are long-running processes that are triggered by events.
Before digging deeper into the details of writing tasks, you should read the fundamentals of tasks to understand what tasks are and how they work.
Writing tasks
Topic | Description |
---|---|
Logging | View and send logs and traces from your tasks. |
Errors & retrying | How to deal with errors and write reliable tasks. |
Wait | Wait for periods of time or for external events to occur before continuing. |
Concurrency & Queues | Configure what you want to happen when there is more than one run at a time. |
Realtime notifications | Send realtime notifications from your task that you can subscribe to from your backend or frontend. |
Versioning | How versioning works. |
Machines | Configure the CPU and RAM of the machine your task runs on |
Idempotency | Protect against mutations happening twice. |
Replaying | You can replay a single task or many at once with a new version of your code. |
Max duration | Set a maximum duration for your task to run. |
Tags | Tags allow you to easily filter runs in the dashboard and when using the SDK. |
Metadata | Attach a small amount of data to a run and update it as the run progresses. |
Usage | Get compute duration and cost from inside a run, or for a specific block of code. |
Context | Access the context of the task run. |
Bulk actions | Run actions on many task runs at once. |
Our library of examples, guides and projects
Walkthrough guides
Detailed guides for setting up Trigger.dev with popular frameworks and services, including Next.js, Remix, Supabase, Stripe and more.
Example tasks
Task code you can copy and paste to use in your own projects, including OpenAI, Vercel AI SDK, Deepgram, FFmpeg, Puppeteer, Stripe, Supabase and more.
Webhook guides
Learn how to trigger tasks from webhooks, including Next.js, Remix, Supabase and Stripe and more.
Example projects
Full-stack projects demonstrating how to use Trigger.dev. Fork them in GitHub as a starting point for your own projects.
Was this page helpful?