I need a way to schedule and run background job… | Parse
I need a way to schedule and run background jobs. What is the best serverless cron job service?
Data as of Sep 26, 2026 · Based on 354 AI responses from ChatGPT Search and Google AI Mode · See how Parse measures this
If you need enterprise-scale and precise timing on AWS, choose AWS EventBridge + Lambda. If you prefer code-defined, dynamic schedules inside your app, pick Inngest. For edge low-latency, use Cron; for simple HTTP triggers, consider or Cron.
Best for AWS-centric teams that need enterprise-grade scale, precise timing, and highly reliable scheduled jobs; tradeoff is tighter AWS coupling and more infra complexity than hosted schedulers.
Best when you want code-first scheduled workflows and dynamic, user-specific triggers defined in application code; tradeoff is it’s an application-level service, not a cloud-provider native scheduler.
Cron Jobs & Scheduled Functions That Retry | Inngesthttps://www.inngest.com/uses/serverless-cron-jobs
7%
How to Build a Serverless Cron Job with EventBridge and Lambdahttps://oneuptime.com/blog/post/2026-02-12-build-a-serverless-cron-job-with-eventbridge-and-lambda/view
3%
What’s your go-to serverless CRON service? : r/nextjs - Reddithttps://www.reddit.com/r/nextjs/comments/15x3of5/whats_your_goto_serverless_cron_service/
2%
GitHub - pmbanugo/cron-atlas: A modern cron job scheduler for the serverless era · GitHubhttps://github.com/pmbanugo/cron-atlas
2%
How do I run background or cron jobs? - Solutions - RedwoodJS Communityhttps://community.redwoodjs.com/t/how-do-i-run-background-or-cron-jobs/2971
cron jobs for serverless apps/mvps : r/devops - Reddithttps://www.reddit.com/r/devops/comments/1qq52q5/cron_jobs_for_serverless_appsmvps/
2%
How to Run Cron Jobs in a Vercel Serverless Environment (Without Paying Extra) - DEV Communityhttps://dev.to/hexshift/how-to-run-cron-jobs-in-a-vercel-serverless-environment-without-paying-extra-502h
2%
Vercel Cron Jobshttps://vercel.com/docs/cron-jobs
2%
Serverless Functions and Cron Jobs for Efficient Task ...https://blog.bitsrc.io/unleashing-the-power-of-automation-exploring-serverless-functions-and-cron-jobs-for-efficient-task-cffa07c11bd6
1%
Question: I need a way to schedule and run background jobs. What is the best serverless cron job service?
The best serverless cron job service depends on your current stack and complexity: Amazon EventBridge Scheduler paired with AWS Lambda is the top choice for native cloud-infrastructure scale, while Inngest or Trigger.dev are the best developer-first, framework-agnostic solutions for complex background workflows.
Top Serverless Cron and Background Job Options
Amazon EventBridge Scheduler + AWS Lambda : The gold standard for pure cloud-native applications on AWS. It supports fine-grained cron/rate expressions, flexible timezone handling, automatic retries, and dead-letter queues without managing servers.
Inngest : An exceptional infrastructure-agnostic choice if you want step-by-step execution, reliable retries, and sleeping functions without managing workflow state machines. It triggers via standard webhooks or cron syntax directly inside your existing codebase.
Trigger.dev : A powerful open-source background job platform that lets you write long-running background tasks and cron jobs as standard TypeScript code with full timeouts handling and type safety.
Google Cloud Scheduler + Cloud Functions : The direct GCP equivalent to AWS, providing seamless integration if your stack already lives within the Google Cloud ecosystem.
Upstash QStash : A serverless HTTP message queue and scheduler designed specifically for serverless and edge runtimes (like Vercel or Cloudflare Workers) that can trigger any public or private HTTP endpoint on a schedule.
Service
Best For
Primary Advantage
AWS EventBridge + Lambda
Native AWS users
Infinite scale and deep cloud ecosystem integration
Inngest
Complex multi-step workflows
Built-in step observability, error handling, and state management
Trigger.dev
TypeScript/Node.js apps
Long-running task execution with strong type safety
Upstash QStash
Edge & Vercel deployments
Simple HTTP-based scheduling for serverless functions
To help narrow down the ideal choice, tell me:
What programming language or framework is your project built with?
Are you already hosted on a specific cloud provider (like AWS, GCP, or Vercel)?
If you mean “I have a serverless app and need scheduled + background work without running my own worker server,” I’d narrow it to QStash, Trigger.dev, and Inngest.
Quick comparison
Service
Best fit
Scheduling
Background jobs
Retries / durability
Execution model
QStash
Simple HTTP-based jobs
✅
✅
✅
Calls your HTTP endpoint
Trigger.dev
Long-running / complex tasks
✅
✅
✅ Strong
Runs tasks on its infrastructure
Inngest
Multi-step workflows
✅
✅
✅ Strong
Functions invoked through its platform
Cloudflare Cron
Already using Workers
✅
✅
More basic
Runs a Worker
Vercel Cron
Simple Vercel-only cron
✅
Via your functions
Basic
Calls your Vercel endpoint
My practical recommendation
For most serverless apps: QStash. It has an unusually simple model: you give it an HTTP endpoint and it handles scheduling, delivery, retries, delays, callbacks, and dead-letter handling. You don't need to deploy a separate worker.
For example, your architecture can simply be:
┌──────────────┐
│ QStash │
│ │
│ cron / retry │
└──────┬───────┘
│ HTTP
▼
┌──────────────────┐
│ /api/background │
│ │
│ do the work │
└──────────────────┘
It supports cron expressions and time zones, and schedules can target an existing URL.
Choose Trigger.dev instead if your “cron job” is really a substantial background task—for example, processing a video, generating a large report, crawling data, or running a multi-minute/multi-step operation. Its schedules can be attached directly to tasks, including timezone-aware schedules.
Choose Inngest if you're building event-driven workflows such as:
User signs up
↓
Send email
↓
Wait 1 day
↓
Check subscription
↓
Send follow-up
↓
Update CRM
That's where workflow semantics become more valuable than simply firing a cron endpoint.
Choose Cloudflare Cron if you're already all-in on Cloudflare Workers. Cron Triggers directly invoke a Worker's scheduled() handler, and Cloudflare also has Queues for background processing.
If I were designing a new app
I'd use:
Basic scheduled API calls / maintenance: QStash
Heavy or long-running background tasks: Trigger.dev
The important distinction is that a cron scheduler isn't necessarily a job runner. If you need retries, concurrency limits, delayed execution, failure handling, and durable multi-step work, pick a background-job/workflow platform rather than just a cron trigger. A recent 2026 comparison makes the same distinction between QStash, Inngest, Trigger.dev, and platform-native cron systems.
If you tell me your stack (e.g. Next.js/Vercel, Python/FastAPI, Cloudflare, AWS, etc.) and what the jobs actually do, I can give you a concrete architecture and recommend one.
For example, your architecture can simply be:
┌──────────────┐
│ QStash │
│ │
│ cron / retry │
└──────┬───────┘
│ HTTP
▼
┌──────────────────┐
│ /api/background │
│ │
│ do the work │
└──────────────────┘
It supports cron expressions and time zones, and schedules can target an existing URL.
Choose Trigger.dev instead if your “cron job” is really a substantial background task—for example, processing a video, generating a large report, crawling data, or running a multi-minute/multi-step operation. Its schedules can be attached directly to tasks, including timezone-aware schedules.
Choose Inngest if you're building event-driven workflows such as:
User signs up
↓
Send email
↓
Wait 1 day
↓
Check subscription
↓
Send follow-up
↓
Update CRM
That's where workflow semantics become more valuable than simply firing a cron endpoint.
If you mean “I have serverless API endpoints and want reliable scheduled/background work without running a server,” my default recommendation in 2026 is Upstash QStash.
Long-running background tasks and workflow execution
Cloudflare Cron Triggers
Already on Cloudflare Workers
Extremely simple and tightly integrated with Workers
AWS EventBridge Scheduler
AWS-native infrastructure
Excellent if your jobs already live in AWS
Why I'd pick QStash
QStash is particularly convenient because you don't have to deploy a dedicated worker/consumer. You give it an HTTP endpoint, and it delivers the job to that endpoint at the scheduled time. It supports retries, dead-letter queues, delays, callbacks, rate/concurrency controls, and cron schedules.
For example, you can have:
QStash
│
│ every day at 08:00
▼
POST /api/generate-report
│
├── generate report
├── save it
└── send notification
It also supports IANA time zones, so you aren't limited to UTC.
When I'd choose something else
Inngest — choose this when your “cron job” is really a workflow: multiple steps, retries between steps, fan-out, events, concurrency limits, etc. Current comparisons put Inngest and Trigger.dev in this more full-featured category.
Trigger.dev — particularly attractive if you're building substantial background processing in TypeScript and want the jobs themselves to be first-class tasks.
Cloudflare Cron Triggers — great if you're already using Workers. A cron expression directly invokes a Worker's scheduled() handler. It's simple, but its scheduling is UTC-based and its failure handling is less comprehensive than a dedicated job platform.
AWS EventBridge Scheduler — sensible if you're already deeply invested in AWS and want schedules to trigger AWS resources.
Rule of thumb:Simple scheduled HTTP jobs → QStash.Durable multi-step workflows → Inngest.Heavy TypeScript background processing → Trigger.dev.Already all-in on Cloudflare → Cron Triggers.Already all-in on AWS → EventBridge Scheduler.
If you tell me your stack (e.g. Next.js/Vercel, Python, Node, AWS, Cloudflare, Supabase), I can narrow this down and show the minimal implementation.
For example, you can have:
QStash
│
│ every day at 08:00
▼
POST /api/generate-report
│
├── generate report
├── save it
└── send notification
The "best" serverless cron job service depends heavily on your stack, how much infrastructure you want to manage, and whether you need simple HTTP pings or complex background job orchestration with retries.
The top serverless cron services are categorized below by their strengths:
Upstash QStash:Best overall for pure serverless / edge apps. QStash is an HTTP-based message queue and cron scheduler. It doesn't require you to deploy a dedicated worker or consumer—it simply signs and issues a secure HTTP request to any public or private URL you own on a cron schedule. It features built-in retries with exponential backoff, a dead-letter queue (DLQ), and scales completely to zero.
AWS EventBridge Scheduler:Best for enterprise & AWS-native stacks. This is the most powerful native scheduler available, capable of handling millions of schedules per region, timezone-aware cron syntax, and direct integration with over 270 AWS services (like Lambda, SQS, and ECS). The downside is a steeper learning curve involving IAM roles and AWS infrastructure setup.
Inngest or Trigger.dev:Best for complex workflows and long-running jobs. If your "cron job" isn't just a quick ping, but a multi-step background workflow that requires step-by-step state, heavy processing, or robust error handling/retries spanning minutes or hours, these developer-first workflow engines are ideal. They run on your existing serverless functions via secure SDKs.
Google Cloud Scheduler:Best for GCP-native stacks. A fully managed cron job service that triggers HTTP targets, Pub/Sub, or App Engine apps. Uniquely, it charges a flat fee per job definition rather than per execution, which can make it very cost-effective at scale.
Platform-Native Crons (Vercel Cron / Cloudflare Cron Triggers):Best for convenience within a specific host. If your entire application lives on Vercel or Cloudflare Workers, configuring crons directly inside vercel.json or wrangler.toml requires zero extra third-party tools. However, they often lack advanced retry policies, detailed run-history UIs, or flexible multi-region failovers.
To help narrow down the ideal choice, tell me:
What hosting platform/cloud is your application currently deployed on?
Are these simple HTTP triggers or heavy, long-running workflows?
If you mean “I have a serverless app and want scheduled + reliable background work without managing servers,” my default choice in 2026 would be Trigger.dev.
Why Trigger.dev: it goes beyond being just a cron service. You can define scheduled tasks in code, use time zones, run long-running jobs without normal serverless-function timeouts, control concurrency, automatically retry failures, and monitor executions.
That makes it particularly attractive if “background jobs” means more than simply waking up an API endpoint.
When I'd pick the others
Inngest — choose this if your jobs are really workflows: e.g. signup → wait → send email → wait for payment → update CRM. It has durable execution and per-function controls such as concurrency, throttling and rate limiting.
QStash — choose this if you already have an HTTP API and basically want “POST to this URL at 9 AM, retry if it fails.” Its HTTP-native model means you don't need to deploy a separate worker. It also provides retries and a dead-letter queue.
Cloudflare Cron Triggers — great if you're already using Cloudflare Workers. It's very straightforward, although schedules execute in UTC.
AWS EventBridge Scheduler — makes sense if the rest of your infrastructure is already deeply invested in AWS.
My practical recommendation:
If you're building a modern TypeScript/Next.js SaaS and don't already have a strong infrastructure preference, I'd evaluate Trigger.dev and Inngest first. If you only need cron → HTTP and want minimal machinery, use QStash.
If you tell me your stack (e.g. Next.js/Vercel, Python, AWS, Cloudflare, Supabase) and roughly how many jobs/day, I can narrow this down to the most appropriate architecture and cost.
Choosing the "best" serverless cron job service depends heavily on your existing stack, whether you need to trigger an HTTP endpoint or a native cloud service , and your budget.
Here is a breakdown of the top serverless cron and background job options categorized by use case:
Upstash QStash — Best for Edge & Serverless-heavy stacks (Vercel, Cloudflare, Deno). QStash is an HTTP-based message queue and scheduler. It doesn't care where your app is hosted; it just sends a signed HTTP request to your endpoint on schedule. It handles retries, delays, and works brilliantly with serverless environments that lack native persistent crons.
AWS EventBridge Scheduler — Best for AWS-centric architectures. It supports one-time or recurring schedules and can natively invoke over 270+ AWS services (like Lambda, SQS, SNS, and ECS) without writing custom HTTP handling glue code.
Google Cloud Scheduler — Best for GCP-native applications. It’s a fully managed cron service that can target Pub/Sub, App Engine, or any HTTP endpoint. Pricing is uniquely based on the number of job definitions rather than execution volume (≈ $0.10 per job/month).
Cloudflare Cron Triggers — Best if you are already building on Cloudflare Workers. It is natively integrated, blazing fast, and allows you to run crons directly inside your worker code. The free tier gives you 5 triggers, scaling up to 250 on paid plans (though restricted to UTC timezones).
Vercel Cron — Best for Next.js apps hosted on Vercel. It allows you to define crons in a vercel.json file that triggers your API routes. Hobby plans have lower granularity/precision, while Pro plans support 1-minute granularity.
To help narrow down the ideal choice, tell me:
Where is your application hosted (AWS, Vercel, Cloudflare, a traditional VPS, etc.)?
Do you need to trigger a simple HTTP endpoint or integrate with a cloud message queue?
Choosing the "best" serverless cron job service depends heavily on your stack, how long your jobs take to run, and whether you need simple HTTP triggering or durable background workflows.
The top options are categorized below by their strengths:
Best for Durable Workflows & Complex Background Jobs:Inngest or Trigger.dev . These are developer-first platforms that handle step functions, retries, long-running tasks, and observability without managing infrastructure, making them ideal for complex serverless apps.
Best Lightweight HTTP Scheduler (Pay-per-Message):Upstash QStash . Perfect for serverless environments (like Next.js or edge functions) because it calls an HTTP endpoint on a schedule with a generous free tier and true scale-to-zero pricing.
Best Cloud-Native / Ecosystem Native:AWS EventBridge Scheduler or Google Cloud Scheduler . The gold standard if your infrastructure already lives heavily inside AWS or GCP, offering high reliability and cheap per-job pricing.
Best Framework-Bound (Zero Config):Vercel Cron or Cloudflare Cron Triggers . Incredible convenience if your app is already hosted on Vercel or Cloudflare Workers, letting you define crons directly in configuration files.
To help narrow down the ideal choice, tell me:
What language, framework, or cloud provider is your app using?
Are these quick HTTP requests or long-running data processing jobs?
Best overall: Inngest for most serverless applications. It combines cron scheduling with durable background jobs, retries, concurrency controls, and multi-step workflows.
Inngest — Best overall; especially Next.js/TypeScript and multi-step jobs.
Trigger.dev — Best for long-running or compute-heavy jobs; tasks run on its infrastructure.
Upstash QStash — Best if you simply want “call this HTTP endpoint on a schedule,” with retries and DLQ.
Cloudflare Cron Triggers — Best if you're already all-in on Cloudflare Workers; extremely simple, but schedules are UTC.
My pick: use Inngest unless your requirement is literally just cron → HTTP endpoint, in which case choose QStash.
The best serverless cron and background job service depends on whether you need simple HTTP scheduling or complex, long-running workflow orchestration. Inngest and Trigger.dev lead for advanced, durable background workflows, while Upstash QStash is the top choice for lightweight, pure HTTP-based cron scheduling.
Top Serverless Cron and Background Job Services
Service
Best For
Core Advantage
Pricing Model
Upstash QStash
Simple HTTP cron & webhooks
Zero-config, payload delivery via simple HTTP requests
Pay-per-request
Inngest
Event-driven workflows
Durable execution, step functions, automatic retries, and code-defined cron
Free tier + usage-based
Trigger.dev
Long-running background jobs
Executes code on their infrastructure; handles tasks lasting hours
Free tier + usage-based
Detailed Breakdown of Options
Upstash QStash: Best if you just want an external scheduler to hit an API endpoint or serverless function URL on a strict cron schedule with built-in retries. It requires no SDK footprint or persistent connections.
Inngest: Best if your background jobs require multi-step workflows, waiting/sleeping between steps, event-driven triggers, and precise error handling without managing a state database.
Trigger.dev: Best if your jobs exceed standard serverless function timeouts (running for minutes or hours) because it executes jobs securely on its managed infrastructure rather than timing out your edge or lambda functions.
Best for minimal setups if you are already tightly bound to a specific host's ecosystem, though they often feature strict timeout limits or tier paywalls for frequent scheduling.
To narrow down the ideal choice, tell me:
What programming language or framework is your app built with?
How long do your background jobs take to run (seconds, minutes, or hours)?
If you mean “I have a serverless app and need reliable scheduled/background work without managing a server”, my default pick in 2026 is Upstash QStash.
My shortlist
Service
Best for
Why
Upstash QStash
Simple cron + background jobs
HTTP-based, retries, delays, schedules, DLQ, no worker to manage
Excellent for complex jobs and durable task execution
Cloudflare Workers Cron
Already on Cloudflare
Extremely simple and integrated with Workers
AWS EventBridge + Lambda
AWS-heavy architecture
Very capable, but more infrastructure/configuration
Why I'd choose QStash
QStash is particularly nice if your application already exposes an HTTP endpoint. You give QStash a URL and a cron expression, and it invokes the endpoint on schedule. It also handles retries and dead-lettering when the endpoint fails.
It supports IANA time zones as well as UTC, and schedules can be created/managed programmatically.
The architecture is basically:
User request
│
▼
Your serverless API
│
└── enqueue ──► QStash
│
│ at scheduled time
▼
Your API endpoint
│
▼
Background work
That makes it a particularly good fit for Vercel, AWS Lambda, Cloudflare, or any HTTP-accessible serverless backend.
When I'd pick something else
Inngest — choose this if your “cron job” is really a workflow: do A → wait → do B → retry C → fan out to 50 users → wait for another event. It's more workflow-oriented than QStash.
Trigger.dev — choose this when the actual job is substantial application code and you want a dedicated execution environment, particularly for long-running tasks. Its schedules support cron and time zones.
Cloudflare Cron Triggers — choose this if you're already all-in on Cloudflare Workers. Cron Triggers directly invoke a Worker on a schedule and are extremely straightforward.
AWS EventBridge Scheduler — choose this if your infrastructure is already deeply invested in AWS and you want the scheduler integrated with AWS services.
Bottom line: for “I just need reliable serverless cron + background jobs” → QStash. For “I need a durable workflow engine” → Inngest or Trigger.dev.
If you tell me your stack (e.g. Next.js/Vercel, Python, AWS, Cloudflare, Node.js), I can recommend the best one and show the minimal production setup.