feat: split cron into import and mailing jobs

This commit is contained in:
Riccardo
2023-12-18 16:13:30 +01:00
parent 875d66f2f7
commit 37ffb951a9
6 changed files with 85 additions and 53 deletions

View File

@@ -1,5 +1,7 @@
import { NextResponse } from 'next/server';
export function ApiResponse(status: number, message: string) {
const response = new Response(message, { status });
const response = new NextResponse(message, { status });
response.headers.set('Access-Control-Allow-Origin', process.env.HOME_URL!);
return response;

View File

@@ -5,10 +5,14 @@ type EmailTemplate = {
template: JSX.Element;
};
async function sendEmail(to: string[], { subject, template }: EmailTemplate) {
export async function sender(
to: string[],
{ subject, template }: EmailTemplate
) {
const resend = new Resend(process.env.RESEND_KEY);
try {
// TODO: adjust code once Resend supports batch sending
const { error } = await resend.emails.send({
from: process.env.RESEND_FROM!,
to,
@@ -34,22 +38,3 @@ async function sendEmail(to: string[], { subject, template }: EmailTemplate) {
return true;
}
export async function sender(
to: string[],
{ subject, template }: EmailTemplate
) {
let success = false;
let i = 5;
while (i < 5) {
const sent = await sendEmail(to, { subject, template });
if (sent) {
success = true;
break;
}
i++;
}
return success;
}