* Added type (STATIC or DYNAMIC) to TaskSchedule. Defaults to dynamic * WIP with dev indexing of static schedules * Added a code comment * First stab at deleting unused static schedules * Dashboard changes for the static schedules * Generate the description. Upsert the instances when editing. Fix for the friendlyId * Don’t allow deleting of static schedules * Don’t allow enabling/disabling of static schedules * Added filtering for schedule types * Syncing of schedule for deployed tasks * Static schedules are now created for each environment * Added a second static schedule for testing * Add the type to the schedule task run payload and the object you get back from the SDK * Changed static/dynamic to declarative/imperative * Timezone example * Changeset * Updated scheduled docs to include declarative * When you test a schedule it set the type to “IMPERATIVE” * Improved the tooltip * Fix for queue time continuing to rise when a run is canceled/expired etc * Update the info panel on a selected declarative schedule * Check if there are no instances. This should never happen but log an error if it does * Throw errors and push them through to the CLI dev command * Fail deployments if creating the background tasks or schedules fails * Format the deployment error so it gets displayed * Changed the maxed out schedules error message to remove bit about support
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.