Skip to content
GitHub Discord

AWS Workflow Cron

Creates an AWS Lambda durable workflow and triggers it on a schedule using CronV2.

Since CronV2 accepts a Workflow, the setup is just:

sst.config.ts
const workflow = new sst.aws.Workflow("MyWorkflow", {
handler: "src/workflow.handler",
});
new sst.aws.CronV2("MyCron", {
schedule: "rate(1 minute)",
function: workflow,
});
sst.config.ts
const workflow = new sst.aws.Workflow("MyWorkflow", {
handler: "src/workflow.handler",
});
const cron = new sst.aws.CronV2("MyCron", {
schedule: "rate(1 minute)",
function: workflow,
});
src/workflow.ts
import { workflow } from "sst/aws/workflow";
export const handler = workflow.handler(async (event, ctx) => {
await ctx.step("start", async ({ logger }) => {
logger.info("Workflow invoked by cron.");
});
await ctx.wait("ten-seconds", { seconds: 10 });
await ctx.step("finish", async ({ logger }) => {
logger.info("Workflow finished.");
});
});

View the full example.