Pipelines
Background jobs that don't keep you up.
Queue work, schedule cron, fan out to workers. Built-in retries, dead-letter queues, and real-time logs — without standing up Redis.
- Durable queues with at-least-once delivery
- Cron triggers down to the minute
- Auto-scaling workers, scale-to-zero
- Webhooks in, side effects out
- Full execution timeline and replay
- Per-pipeline secrets and scoped keys
send-welcome.ts
import { pipeline } from "@savannah/sdk";
export default pipeline({
name: "send-welcome",
retries: 5,
async run({ email }) {
await sc.email.send({
to: email,
template: "welcome",
});
},
});