export const job =
nodeflux.job(
"sync-inventory",
{ retries: 3 },
async () => {...}
);Define with code
No YAML, no DSL — just an async function using the Nodeflux SDK.
Developer tools for background work
Nodeflux is a developer-tools startup building durable background jobs, scheduling, and event-driven workflows for backend teams — without standing up and operating your own queue infrastructure.
Background jobs
Move slow work out of the request/response cycle. Jobs are plain functions, deployed the same way as the rest of your app — with retries and checkpointing built in.
export const job =
nodeflux.job(
"sync-inventory",
{ retries: 3 },
async () => {...}
);No YAML, no DSL — just an async function using the Nodeflux SDK.
Failed steps retry automatically. Idempotency keys stop a retry from duplicating a charge.
Every run, input, and output is logged — searchable, not just a pass/fail status.
Scheduling & events
Recurring jobs with drift correction and overlap protection, plus event and webhook triggers with signature verification built in.
Point a webhook at Nodeflux — signature verification and retries are handled for you.
Each step checkpoints independently, so a failure doesn't restart the whole job.
Schedules run in the timezone you set, not just UTC — with overlap protection built in.
Tooling
Test locally, inspect what happened in production, and know the moment something keeps failing — without switching tools.
Run and debug jobs locally before they ever deploy.
Install CLIInspect every run, replay failures, and manage schedules.
View dashboardGet notified in Slack or email when a job keeps failing.
Set up alertsWhy Nodeflux
Most teams build background job infrastructure themselves on top of a raw queue, then spend the next year patching the gaps. Here's what we think that infrastructure should look like from day one.
Jobs are plain functions deployed with the rest of your app — no YAML workflow language to learn and maintain separately.
Retries shouldn't duplicate a charge or a sent email. Idempotency keys are part of the step API, not something you bolt on yourself.
Every run is logged automatically — input, output, and timing per step — not an integration you wire up after something breaks.
You pay for runs that happen, not reserved capacity sitting idle. Standard pricing is never hidden behind a sales call.
Reliability
Median job pickup latency over the last 24 hours.
<150ms
Median job pickup time
Automatic
Retries with backoff
Usage-based
No reserved capacity
Per-step
Checkpointing & observability
~/app
$ npx nodeflux dev
→ watching jobs/ for changes...
→ sendWelcomeEmail registered
Frequently asked questions
The SDK is open source. The managed platform — scheduling, retries, dashboard, and infrastructure — is a hosted service with a free tier to start.
TypeScript and Python today, with more runtimes planned based on demand from early users.
A raw queue gives you message delivery — you still build retries, idempotency, scheduling, and observability yourself. Nodeflux gives you those as part of the job primitive, not a separate project.
Not today. Nodeflux is a managed platform — you deploy your functions, and we handle the scheduling and execution infrastructure behind them.
Most teams migrate job-by-job rather than all at once — wrap an existing handler in a Nodeflux job, point traffic at it, and move the next one when you're ready. We're happy to walk through a specific setup.