From 2ba400f6f1a4f89f0d3815c9d1ed25c7dc3694b3 Mon Sep 17 00:00:00 2001 From: Stevche Radevski Date: Wed, 17 Jul 2024 12:45:41 +0200 Subject: [PATCH] fix: Log error if a scheduled job handler throws (#8164) CLOSES TRI-19 --- .../medusa/src/loaders/helpers/register-jobs.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/medusa/src/loaders/helpers/register-jobs.ts b/packages/medusa/src/loaders/helpers/register-jobs.ts index a98b25aa59..02cb7cb294 100644 --- a/packages/medusa/src/loaders/helpers/register-jobs.ts +++ b/packages/medusa/src/loaders/helpers/register-jobs.ts @@ -5,7 +5,7 @@ import { } from "@medusajs/workflows-sdk" import { glob } from "glob" import logger from "../logger" -import { MedusaError } from "@medusajs/utils" +import { ContainerRegistrationKeys, MedusaError } from "@medusajs/utils" export const registerJobs = async (plugins) => { await Promise.all( @@ -50,8 +50,16 @@ const createJob = async ({ config, handler }) => { `${config.name}-as-step`, async (stepInput, stepContext) => { const { container } = stepContext - const res = await handler(container) - return new StepResponse(res, res) + const logger = container.resolve(ContainerRegistrationKeys.LOGGER) + try { + const res = await handler(container) + return new StepResponse(res, res) + } catch (error) { + logger.error( + `Scheduled job ${config.name} failed with error: ${error.message}` + ) + throw error + } } )