Trigger.dev v3 is now open to everyone
![James Ritchie](/blog/authors/james.jpg)
Co-founder, Trigger.dev
![Image forTrigger.dev v3 is now open to everyone](/blog/v3-open-access/v3-open-access.jpg)
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](/blog/v3-open-access/pricing-tiers.png)
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](/blog/v3-open-access//dashboard.png)
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:
_29export 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.