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 with Cron or simplified syntax.
Work queues
Decouple your services with asynchronous queues.
Scriptlets*
Deploy JavaScript snippets to execute your job on our servers.
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.
Use Scriptlets to add logic to jobs
Sometimes you don't need to call your app at all. Add a JavaScript Scriptlet in our admin panel and we'll execute it on our servers, with your payload and secrets. We'll run your jobs even if they take long hours.
await fetch(`https://api.mails.test/v3/messages`, {
method: 'POST',
headers: {
Authorization: `Basic ${btoa(`api:${SECRETS.token}`)}`,
},
body: {
from: CONFIG.from,
to: PAYLOAD.email,
template: CONFIG.template,
},
})
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
Startup
$39 / month
When your application grows and you need more jobs and user accounts.
What's included?
- 500000/mo API credits
- Up to 20 scriptlets*
- More credits if needed**
- Multiple accounts & API keys
- Email support
Unlimited
$299 / 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're out of API credits you can simply purchase more or enable auto credit purchase in application control panel. You can also migrate to Unlimited plan and stop worrying about API credits at all.
Developer plan is intended for application development and small production usage. If you need more credits, you need to move to Startup plan.
No, we know, that sometimes there are unforseen 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 depleeted 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.
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 backgound 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 still at work building LambdaQueue
LambdaQueue is not yet available for the general public. We're still working with our early adopters to make sure the product is ready for everyone. Join the waitlist to be notified when we launch.