IO
io.wait()
io.wait()
waits for the specified amount of time before continuing the Job. Delays work 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.
Parameters
keyrequired
string
Should be a stable and unique key inside the run()
. See
resumability for more information.
secondsrequired
number
The number of seconds to wait. This can be very long, serverless timeouts are not an issue.
Returns
A Promise
that resolves after the specified amount of time.
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!");
},
});
Was this page helpful?
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!");
},
});