July 12, 2024

Today, I'm excited to announce that Trigger.dev v3 is now open to everyone. No more waitlist!

Image for Trigger.dev v3 is now open to everyone

Today, I'm excited to announce that the Trigger.dev v3 cloud is now open to everyone. No more waitlist!

Over the past few months we've been hard at work building new features, improving our SDK and making the platform as reliable as possible to reach this milestone.

Trigger.dev v3 in 40 seconds

Why we built v3 (and why it's better than v2)

Before diving into the details, let's briefly revisit how we got here. The answer is straightforward; after speaking to hundreds of v2 users, we identified some key issues that needed addressing:

  • Timeouts. Version 2 ran your code inside your serverless functions, often suffering from timeouts. We provided ways to divide jobs into smaller chunks, but the code was hard to write and confusing.
  • Very long-running processes. Some use cases need to run for extended periods, which v2 couldn't handle. Tasks like video transcoding or certain AI operations often exceed even the most generous serverless timeouts, such as those in Lambda.
  • Double billing. Users had to pay for both our platform and their hosting platform costs to run their jobs.

To truly eliminate timeouts, we knew we needed to build our own infrastructure to host, manage, and scale tasks. This new architecture led to Trigger.dev version 3, and finally to today's announcement that we're now open access.

Introducing Trigger.dev v3 open access with three new plans: Free, Hobby and Pro

You can now choose from three new plans: Free, Hobby and Pro, designed to help you evaluate the product and unlock features as you go. Check out the full details on the pricing page and sign up for a free account to explore Trigger.dev v3.

Trigger.dev pricing plans

Each plan includes monthly usage, with the Free plan offering $5 of monthly usage for free. The machines executing runs on the platform are configurable, and prices for each can be seen on our pricing page. We also charge a small "run invocation" cost.

Existing v3 users have been put on the Free plan, meaning you'll need to upgrade to exceed the free $5 of usage per month. Once the $5 of free usage is exhausted, existing runs will be queued, and new ones won't be created until you upgrade.

For v2 users, simply log in and create a new project – v3 is now the default. To upgrade an existing v2 job to a v3 task, check out our migration guide. You can migrate v2 jobs incrementally, and if you need help, reach out via email or Discord.

I need to work more with trigger, but I'm very impressed by what you guys are doing. versioned deploys, multiple environments, easy local development, long running tasks with no shutdowns, very fair and scaling pricing, tenant scoped concurrency limits, open source, waitFor with events or requests, awaiting/polling results. its crazy

Self hosting

If you prefer to self-host, we've made a handy guide. We're Apache 2.0 licensed and have made it as easy as possible to self-host using Docker. As always you can view the source code on GitHub.

Price transparency

Figuring out how much you're spending with cloud providers is hard. We've kept it simple and transparent.

You can easily see how much each task costs to run in Production or Staging by visiting the new Usage page. We also provide a monthly estimate and a daily summary.

Usage dashboard

As developers, it makes sense to access this data using the SDK. From inside a run, you can get cost and duration data like this:


_29
export const heavyTask = task({
_29
id: "heavy-task",
_29
machine: {
_29
preset: "medium-2x",
_29
},
_29
run: async (payload, { ctx }) => {
_29
// Do some compute
_29
const result = await convertVideo(payload.videoUrl);
_29
_29
// Get the current cost and duration up until this line of code
_29
// This includes the compute time of the previous lines
_29
let currentUsage = usage.getCurrent();
_29
/* currentUsage = {
_29
compute: {
_29
attempt: {
_29
costInCents: 0.01700,
_29
durationMs: 1000,
_29
},
_29
total: {
_29
costInCents: 0.0255,
_29
durationMs: 1500,
_29
},
_29
},
_29
baseCostInCents: 0.0025,
_29
totalCostInCents: 0.028,
_29
}
_29
*/
_29
},
_29
});

Hosting and managing users code on our platform also solved the double billing problem. Users are no longer charged for both their background jobs provider and their hosting provider. It's still an issue our competitors face.

With v3 everything just works

Max – Waitless

What's next?

With v3 now open to everyone, we're just getting started. Here's 3 things we're currently working on:

  • Realtime Notifications: send data from your tasks to your front end in realtime
  • Better bundling: Make deploying far easier
  • Firecracker: For blazing fast run starts

To request a feature, or vote on others, check out our Feedback page.

Ready to start building?

Build and deploy your first task in 3 minutes.

Get started now
,