From 90f69151d81a4de80014be37f8afbd6bd6ced477 Mon Sep 17 00:00:00 2001 From: Luke Vella Date: Sun, 1 Dec 2024 21:23:55 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Remove=20disabled=20queue=20impl?= =?UTF-8?q?ementation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/emails/src/{queue.ts => qstash.ts} | 0 packages/emails/src/send-email.tsx | 32 ++------------------- 2 files changed, 2 insertions(+), 30 deletions(-) rename packages/emails/src/{queue.ts => qstash.ts} (100%) diff --git a/packages/emails/src/queue.ts b/packages/emails/src/qstash.ts similarity index 100% rename from packages/emails/src/queue.ts rename to packages/emails/src/qstash.ts diff --git a/packages/emails/src/send-email.tsx b/packages/emails/src/send-email.tsx index 464cb1f9d..2e694e6cd 100644 --- a/packages/emails/src/send-email.tsx +++ b/packages/emails/src/send-email.tsx @@ -1,16 +1,12 @@ import * as aws from "@aws-sdk/client-ses"; import { defaultProvider } from "@aws-sdk/credential-provider-node"; -import { absoluteUrl } from "@rallly/utils/absolute-url"; import { renderAsync } from "@react-email/render"; -import * as Sentry from "@sentry/nextjs"; import { waitUntil } from "@vercel/functions"; import type { Transporter } from "nodemailer"; import { createTransport } from "nodemailer"; import type Mail from "nodemailer/lib/mailer"; -import React from "react"; import { i18nDefaultConfig, i18nInstance } from "./i18n"; -import { createQstashClient } from "./queue"; import { templates } from "./templates"; import type { TemplateComponent, TemplateName, TemplateProps } from "./types"; @@ -72,32 +68,8 @@ export class EmailClient { templateName: T, options: SendEmailOptions, ) { - const isQueueEnabled = false; // TODO: Enable this - const createEmailJob = async () => { - const client = createQstashClient(); - - if (client && isQueueEnabled) { - const queue = client.queue({ - queueName: "emails-mq", - }); - - queue - .enqueueJSON({ - url: absoluteUrl("/api/send-email"), - body: { locale: this.config.locale, templateName, options }, - retries: 2, - }) - .catch(() => { - Sentry.captureException(new Error("Failed to queue email")); - // If there's an error queuing the email, send it immediately - this.sendTemplate(templateName, options); - }); - } else { - this.sendTemplate(templateName, options); - } - }; - - waitUntil(createEmailJob()); + const promise = this.sendTemplate(templateName, options); + waitUntil(promise); } async sendTemplate(