* When resuming a batch, only do marqs operations once * Made TaskRunDependency clearer in the Prisma schema * New ResumeDependentParentsService service, use it from checkpoints * WIP on making resuming more robust * Turn the declarative schedules off because they make debugging other runs painful * Resuming batches when there’s an attempt is working * If there’s no attempt then create one * Added a log if there are no span events to complete * If Graphile addJob doesn’t return a row, log and return undefined. No throw * Pass prisma into the ResumeDependentParentsService * Removed the todos * Pass Prisma through to the checkpoint service * Fix for not checking the batch item correctly * Fix for when a log flush times out and the process is checkpointed * Fix for when a log flush times out and the process is checkpointed * Another test run that does batches with failed subtasks * Don’t call ResumeTaskRunDependenciesService anymore (we have a new service) * Only resume if the run is in a final state * If an attempt doesn’t exist, fix for creating queue with sanitized name * If DEV then don’t resume using marqs/batches. The CLI manages it * We don’t need to check the run status again, it’s in the main function now * Added TaskRunAttempt taskRunId index * Only allow calling ResumeDependentParentsService with a run ID * Put the flushing back to what it was
About Trigger.dev
Trigger.dev is an open source platform and SDK which allows you to create long-running background jobs with no timeouts. Write normal async code, deploy, and never hit a timeout.
Features:
- JavaScript and TypeScript SDK
- Write reliable code by default
- No infrastructure to manage
- Works with your existing tech stack
In your codebase
Create tasks where they belong: in your codebase. Version control, localhost, test and review like you're already used to.
import { task } from "@trigger.dev/sdk/v3";
//1. You need to export each task
export const helloWorld = task({
//2. Use a unique id for each task
id: "hello-world",
//3. The run function is the main function of the task
run: async (payload: { message: string }) => {
//4. You can write code that runs for a long time here, there are no timeouts
console.log(payload.message);
},
});
Deployment
Use our SDK to write tasks in your codebase. There's no infrastructure to manage, your tasks automatically scale and connect to our cloud. Or you can always self-host.
Environments
We support Development, Staging, and Production environments, allowing you to test your tasks before deploying them to production.
Full visibility of every job run
View every task in every run so you can tell exactly what happened. We provide a full trace view of every task run so you can see what happened at every step.
Getting started
Visit our docs here for a full guide on how to get started with Trigger.dev.
Self-host
If you prefer to self-host, you can follow our self-hosting guide.
Development
To setup and develop locally or contribute to the open source project, follow our development guide.