Migration Guide

Migrate from Inngest Cron Functions

Remove the SDK dependency. Get proper alerting and AI diagnostics.

Step by step

1

Find your cron functions

Search for inngest.createFunction() calls with a "cron" trigger in your codebase.

# Find Inngest cron functions
grep -r "cron:" src/ --include="*.ts"
2

Extract the function logic

For each cron function, identify what it does — typically an HTTP call or database operation.

3

Expose logic as HTTP endpoints

Create an HTTP route that performs the same action as the Inngest function.

// app/api/cron/sync/route.ts
export async function POST(req: Request) {
  const secret = req.headers.get("x-cron-secret");
  if (secret !== process.env.CRON_SECRET) return new Response("Unauthorized", { status: 401 });
  await syncData();
  return Response.json({ synced: true });
}
4

Create JustRun jobs

Create a JustRun job for each function: same cron expression, HTTP endpoint URL, x-cron-secret header.

5

Remove Inngest cron functions

Delete the createFunction() definitions for schedule triggers. Keep Inngest for event-driven functions if still needed.

Common questions

What about Inngest's step functions and retries?

JustRun has built-in retry policies (exponential, linear, fixed backoff). For multi-step orchestration, keep using Inngest — it's excellent for that use case.

Can I call Inngest event handlers from JustRun?

Yes — use Inngest's event API endpoint. Create a JustRun job that sends an event to Inngest on a schedule. You get JustRun's scheduling reliability while keeping Inngest's function orchestration.

Ready to migrate?

Free to start. Import in under 2 minutes.

Start Free