| title | Writing tasks: Overview |
|---|---|
| sidebarTitle | Overview |
| description | Tasks are the core of Trigger.dev. They are long-running processes that are triggered by events. |
import ExamplesCards from "/snippets/examples-cards.mdx";
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.
| 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. |
| Priority | Specify a priority when triggering a task. |
| Hidden tasks | Create tasks that are not exported from your trigger files but can still be executed. |