Create asynchronous apps without servers
Call our API and we'll ping you back or execute custom JavaScript when it's time. With error handling, custom body, retries, secrets, exponential backoff and logging. All without any infrastructure on your side.
Scheduled jobs
Schedule jobs to execute on specific date and time.
Recurring tasks
Setup recurring tasks for email, invoicing or old data removal.
Work queues
Decouple your services or fan-out serverless jobs.
Scriptlets*
Run JavaScript on our servers without timeouts.
What LambdaQueue can do for you
LambdaQueue can handle all your background jobs and scheduling logic. So you can focus on building business value for your customers. Regardless if your application is serverless, or if you use your own servers.
Serverless
Make sure your emails and notification are really delivered. With retries and exponential retry.
Make your endpoints blazing fast by moving parts of your logic to background processing.
Move your background processing to our Scriptlets* and reduce your cloud invoices.
Self Hosting
Don't host your own Redis/RabbitMQ/Nats so you can just send few emails daily. No need for backups, upgrades and maintenance
Your development team doesn't need to introduce new components and learn about new servers.
Adding async functionality to your app with LambdaQueue is simple. You should be ready in minutes.
Not everything has to happen *right now*
Some tasks need to happen at the end of the day. Some on the user birthday. There are many cases when on-line processing or hardcoded schedules are not enough.
Async Glue for serverless
Serverless functions are great, but they don't work well when your tasks need to be executed at specific time or when you want to decouple optional logic from your transactions. Sending confirmation email doesn't have to be part of your checkout process. You can queue it for later and retry if it fails.
Send daily emails
When your task executes at constant times, just add an endpont to call at given time period. Do it in admin panel or using our API. Deploy a scriptlet to do all work on our servers. No need for new code in your app.
Background data migrations
User signs up and you want to import his data? Doing it live might be slow and will not retry if anything fails. Use our persistent queues to make sure data migration is done as soon as possible and is processed to the end.
Dynamic scheduled alerts and reminders
Some scheduled jobs are executed according to user set dates or input from other systems. Not all can be hardcoded in your app configuration. Dynamic schedules you can edit and pause with our REST API are a great fit for that.
Integrate your serverless with your 'serverful'
- Schedule and queue work for your background processing servers.
- Queue jobs with priorities and delay them if not ready.
- Never loose data thanks to automatic retries and persistence.
Get started in minutes
Use our SDK to get a fully working queue and schedules in minutes. It's just few lines of code for Next.js, Express or other JavaScript/TypeScript platforms. SDK for your language not available yet? Use simple REST API. Check documentation for details.
import { queue } from '@dayone-labs/lambda-queue-serverless'
type Payload = {
name: string
age: number
}
export const welcomeQueue = queue('/lq/queue',
async (job: Payload) => {
return { msg: `Hi ${job.name}, you are ${job.age}!` }
}
)
//Queue is a route handler
export const POST = welcomeQueue
//Then push to queue anywhere in your code
await welcomeQueue.push({ name: 'John Doe', age: 30 })
Pricing
All our plans include full functionality. You can always start with smaller plan and migrate to higher tier later on, when you need it.
Developer
Free
Ideal for development and small applications.
What's included?
- 5000/mo API credits
- Up to 5 scriptlets*
- Single user account
- Community support
Flexible
$5 / month
Pay as you go. When your workload changes a lot. Base price included in credits pool.
What's included?
- 100000/mo credits included
- Up to 20 scriptlets*
- More credits if needed**
- Multiple accounts & API keys
- Email support
Unlimited
$199 / month
For high traffic applications that need to schedule and queue a lot of tasks.
Everything in Startup +
- Unlimited API credits
- Unlimited scriptlets*
- Priority support
- Chat with developers
Frequently Asked Questions
Have any more questions? Don't hesitate to contact us!
LambdaQueue uses API credits system to account for usage. We subtract credits each time your scheduled or one of your queue items is executed. If you have a scriptlet configured for your task, we also subtract credit when it's called. So 1 queue item = 1 credit and 1 scriptlet execution = 1 credit. So there's a maximum of 2 credits per item.
When you deplete your credits pool, we'll automatically charge you for next 1000 credits. Set a monthly limit, so you never end up with unexpected hight invoice from us. You can also migrate to Unlimited plan and stop worrying about API credits at all.
No, we know, that sometimes there are unforeseen usage spikes and sometimes it's just hard to predict how many credits you need. Whenever you're near your credits limit we send you an email. Second one when you have depleted them all. Then we allow your credit balance to go below 0 for 48 hours. During this time you can purchase missing credits or switch to Unlimited plan without any interruption of our services.
Developer plan is intended for application development and small production usage. If you need more credits, you need to move to Startup plan.
A scriptlet is a small JavaScript function you provide in configuration UI (or linking to your code repository) that is executed each time a job of given type is ready to be processed. This way you might not need to call your application back, everything could be processed by our servers. Sometimes you have all information you need in body of your job and all that's left to do is to pass it to some external service. This could all be done with scriptlet.
For each scriptlet execution we start a new QuickJS virtual machine and pass your job and deserialized body to it. After your code is executed everything is scraped and we send object returned from your function back to your application endpoint or just leave it in our call history if you don't need to be pinged back. It's just like regular job execution, but you can wire up some code on our side.
Scriptlets are designed to be a go-to solution for all your background processing jobs. We're not ready yet to confirm what will be the time/cpu limits of each job, but long-running jobs are on our priority list. If you have a specific need, don't hesitate to let us know about it. We'll gladly add it to our backlog.
We're in Beta. Try it out while we build.
Join BetaJoin our Beta users and get early access to LambdaQueue. Help us shape the future of serverless job scheduling.