From 547a6ab8a7d9d1ddb1f215e12ef60d4a757dcd6b Mon Sep 17 00:00:00 2001 From: Konstantin Rybakov Date: Thu, 25 Jul 2024 08:26:10 +0300 Subject: [PATCH] add logging to email/jobs --- app/api/email/jobs/route.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/api/email/jobs/route.tsx b/app/api/email/jobs/route.tsx index 89b6db1..c54473a 100644 --- a/app/api/email/jobs/route.tsx +++ b/app/api/email/jobs/route.tsx @@ -1,5 +1,6 @@ import Jobs from '@/emails/jobs' import { queryGetJobs } from '@/lib/db/queries' +import { logger } from '@/lib/logger' import { render } from '@react-email/render' import { ReasonPhrases, StatusCodes } from 'http-status-codes' import { headers } from 'next/headers' @@ -9,6 +10,8 @@ const resend = new Resend(process.env.RESEND_API_KEY) export const GET = async () => { try { + logger.info('Starting `send-email` cron job') + const headerList = headers() const auth = headerList.get('Authorization') @@ -25,6 +28,8 @@ export const GET = async () => { const recipients = process.env.PERSONAL_EMAIL + logger.info('Found recipients') + if (!recipients) { throw new Error('No recipients found') } @@ -32,6 +37,11 @@ export const GET = async () => { const { data: jobs } = await queryGetJobs(['new']) const { data: savedJobs } = await queryGetJobs(['topChoice']) + logger.info( + { newJobs: jobs.length, savedJobs: savedJobs.length }, + 'Found jobs', + ) + const { data, error } = await resend.emails.send({ from: 'OWAT ', to: [recipients], @@ -45,6 +55,8 @@ export const GET = async () => { return Response.json({ data }, { status: StatusCodes.OK }) } catch (error) { + logger.error({ error }, 'Error sending email') + return Response.json( { error }, { status: StatusCodes.INTERNAL_SERVER_ERROR },