Files
2026-07-13 13:32:57 +08:00

17 lines
733 B
TypeScript

import type { DeliverEmail } from "emails";
import { commonWorker } from "~/v3/commonWorker.server";
// Lives outside email.server.ts so that the SMTP/Resend client module
// stays a leaf dependency. Pulling commonWorker from email.server poisoned
// every consumer of the auth chain (auth → emailAuth → email) with the
// V1+V2 worker tree, which transitively loads marqs and trips Redis-env
// guards in any vitest file whose import graph reaches it.
export async function scheduleEmail(data: DeliverEmail, delay?: { seconds: number }) {
const availableAt = delay ? new Date(Date.now() + delay.seconds * 1000) : undefined;
await commonWorker.enqueue({
job: "scheduleEmail",
payload: data,
availableAt,
});
}