Skip to main content
Pikku Fabric use case

Cron that
actually works.

Scheduled functions running on Fabric's infrastructure. No cron daemon to manage, no missed executions to debug, no separate monitoring.

You need a report generated every Monday. A cache warmed every hour. Stale data cleaned up nightly. So you set up node-cron, or a Lambda with EventBridge, or a GitHub Action on a schedule. Then it silently fails and nobody notices for a week.

A function. A schedule. That's it.

You write this

const generateReport = pikkuFunc({
input: z.object({}),
output: ReportSchema,
func: async ({ db, email }) => {
const data = await db.analytics.aggregate('weekly')
const report = buildReport(data)
await email.send({ to: 'team@acme.dev', report })
return report
},
})

// Run every Monday at 9am
wireScheduler({ schedule: '0 9 * * 1', func: generateReport })

Same function you'd call from your API. Same auth, same types.

What Fabric gives you

Managed scheduling

Runs on our infra. No cron daemon, no Lambda triggers to configure.

Automatic retries

If a scheduled run fails, Fabric retries with backoff.

Execution history

See every run — when it started, how long it took, whether it succeeded.

Same permissions

Cron jobs run with the same auth model as your API. No backdoor execution.

Every run is traced.

No more "did the cron job run last night?"

cron history
generateReport — 0 9 * * 1
✓ Mon Mar 24 09:00:01 1.4s success
✓ Mon Mar 17 09:00:00 1.2s success
⟳ Mon Mar 10 09:00:01 retry 1 → 1.8s success
✓ Mon Mar 03 09:00:00 1.1s success

Stop babysitting cron jobs.

Write the function. Set the schedule. Fabric runs it.