Sleep until a time step.sleepUntil()
Use step.sleepUntil() to pause the execution of your function until a specific date time.
export default inngest.createFunction(
  { id: "send-scheduled-reminder" },
  { event: "app/reminder.scheduled" },
  async ({ event, step }) => {
    const d = new Date(event.data.remind_at);
    await step.sleepUntil("wait-for-the-date", d);
    // Do something else
  }
);
To sleep until a particular amount of time from now, use step.sleep() instead.
step.sleep(id, datetime): Promise
- Name
- id
- Type
- string
- Required
- required
- Description
- The ID of the step. This will be what appears in your function's logs and is used to memoize step state across function versions. 
 
- Name
- datetime
- Type
- Date | string
- Required
- required
- Description
- The datetime at which to continue execution of your function. This can be: - A Dateobject
- Any date time string in the format accepted by the Dateobject, i.e.YYYY-MM-DDTHH:mm:ss.sssZor simplified forms likeYYYY-MM-DDorYYYY-MM-DDHH:mm:ss
 
- A 
 
// Sleep until the new year
await step.sleepUntil("happy-new-year", "2024-01-01");
// Sleep until September ends
await step.sleepUntil("wake-me-up", "2023-09-30T11:59:59");
// Sleep until the end of the this week
const d = dayjs().endOf("week").toDate();
await step.sleepUntil("wait-for-end-of-the-week", d);
step.sleepUntil() must be called using await or some other Promise handler to ensure your function sleeps correctly.