Runs can be paused using delays. They can be very long.
Delays works even if you’re on a serverless platform with timeouts, or if your server goes down. They utilize resumability to ensure that the Run can be resumed after the delay.
Usage
client.defineJob({
id: "delay-job",
name: "Delay Job",
version: "0.0.1",
trigger: eventTrigger({
name: "example.event",
}),
run: async (payload, io, ctx) => {
await io.logger.info("Hi");
// the second parameter is the number of seconds to wait
await io.wait("wait 30 days", 30 * 24 * 60 * 60);
await io.logger.info("Sorry for the slow reply!");
},
});
Responses are generated using AI and may contain mistakes.