This example sends a reminder email to a user at the specified datetime.
/trigger/reminder-email.ts
Copy
Ask AI
export const sendReminderEmail = task({ id: "send-reminder-email", run: async (payload: { to: string; name: string; date: string }) => { //wait until the date await wait.until({ date: new Date(payload.date) }); //todo send email const { data, error } = await resend.emails.send({ from: "hello@trigger.dev", to: payload.to, subject: "Don't forget…", html: `<p>Hello ${payload.name},</p><p>...</p>`, }); },});
This allows you to write linear code without having to worry about the complexity of scheduling or managing cron jobs.
In the Trigger.dev Cloud we automatically pause execution of tasks when they are waiting for
longer than a few seconds. You are not charged when execution is paused.