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.

*Coming Soon

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

Reliable delivery

Make sure your emails and notification are really delivered. With retries and exponential retry.

Improve responsiveness

Make your endpoints blazing fast by moving parts of your logic to background processing.

Lower cost

Move your background processing to our Scriptlets* and reduce your cloud invoices.

Self Hosting

Less infrastructure

Don't host your own Redis/RabbitMQ/Nats so you can just send few emails daily. No need for backups, upgrades and maintenance

Less development

Your development team doesn't need to introduce new components and learn about new servers.

Faster time to market

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.
service

Get started in minutes

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
*When available

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
*When available
**0.05$ per 1000 credits

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
*When available

Frequently Asked Questions

Have any more questions? Don't hesitate to contact us!

What is an API credit?

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.

How can I get more API credits?

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.

Will my jobs stop executing when I'm out of credits?

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.

Can I get more credits on Developer plan?

Developer plan is intended for application development and small production usage. If you need more credits, you need to move to Startup plan.

What is a scriptlet?

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.

How are Scriptlets executed?

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.

Can I create long-running jobs with Scriptlets?

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 Beta

Join our Beta users and get early access to LambdaQueue. Help us shape the future of serverless job scheduling.