From 061ec504afa0c790593af9f7d73936e5550a7824 Mon Sep 17 00:00:00 2001 From: David Cramer Date: Tue, 28 Nov 2023 09:57:44 -0800 Subject: [PATCH] Soft errors on invalid objects --- apps/worker/src/jobs/generateBottleDetails.ts | 5 ++++- apps/worker/src/jobs/generateEntityDetails.ts | 7 +++++-- apps/worker/src/jobs/notifyDiscordOnTasting.ts | 6 ++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/apps/worker/src/jobs/generateBottleDetails.ts b/apps/worker/src/jobs/generateBottleDetails.ts index 1f2b7ddb5..a89238c4a 100644 --- a/apps/worker/src/jobs/generateBottleDetails.ts +++ b/apps/worker/src/jobs/generateBottleDetails.ts @@ -101,7 +101,10 @@ export default async function ({ bottleId }: { bottleId: number }) { const bottle = await db.query.bottles.findFirst({ where: (bottles, { eq }) => eq(bottles.id, bottleId), }); - if (!bottle) throw new Error("Unknown bottle"); + if (!bottle) { + logError(`Unknown bottle: ${bottleId}`); + return; + } const result = await generateBottleDetails(bottle); if (!result) return; diff --git a/apps/worker/src/jobs/generateEntityDetails.ts b/apps/worker/src/jobs/generateEntityDetails.ts index cc1f3fc50..7153b4994 100644 --- a/apps/worker/src/jobs/generateEntityDetails.ts +++ b/apps/worker/src/jobs/generateEntityDetails.ts @@ -3,10 +3,10 @@ import { db } from "@peated/server/db"; import type { Entity } from "@peated/server/db/schema"; import { changes, entities } from "@peated/server/db/schema"; import { arraysEqual } from "@peated/server/lib/equals"; +import { logError } from "@peated/server/lib/log"; import { CountryEnum, EntityTypeEnum } from "@peated/server/schemas"; import { eq } from "drizzle-orm"; import { z } from "zod"; - import config from "~/config"; import { getStructuredResponse } from "~/lib/openai"; @@ -93,7 +93,10 @@ export default async ({ entityId }: { entityId: number }) => { const entity = await db.query.entities.findFirst({ where: (entities, { eq }) => eq(entities.id, entityId), }); - if (!entity) throw new Error("Unknown entity"); + if (!entity) { + logError(`Unknown entity: ${entityId}`); + return; + } const result = await generateEntityDetails(entity); if (!result) return; diff --git a/apps/worker/src/jobs/notifyDiscordOnTasting.ts b/apps/worker/src/jobs/notifyDiscordOnTasting.ts index 020c09504..03f9423df 100644 --- a/apps/worker/src/jobs/notifyDiscordOnTasting.ts +++ b/apps/worker/src/jobs/notifyDiscordOnTasting.ts @@ -20,8 +20,10 @@ export default async function ({ tastingId }: { tastingId: number }) { bottle: true, }, }); - if (!tasting) throw new Error("Unknown tasting"); - + if (!tasting) { + logError(`Unknown tasting: ${tastingId}`); + return; + } const fields = []; if (tasting.rating !== null) fields.push({