diff --git a/packages/node-core/src/cron/node-cron.ts b/packages/node-core/src/cron/node-cron.ts index a2374b06d4b5..0c6d2a8e5ca1 100644 --- a/packages/node-core/src/cron/node-cron.ts +++ b/packages/node-core/src/cron/node-cron.ts @@ -7,7 +7,11 @@ export interface NodeCronOptions { } export interface NodeCron { - schedule: (cronExpression: string, callback: () => void, options: NodeCronOptions | undefined) => unknown; + schedule: ( + cronExpression: string, + callback: (context?: unknown) => void, + options: NodeCronOptions | undefined, + ) => unknown; } /** @@ -44,14 +48,14 @@ export function instrumentNodeCron(lib: Partial & T): T { throw new Error('Missing "name" for scheduled job. A name is required for Sentry check-in monitoring.'); } - const monitoredCallback = async (): Promise => { + const monitoredCallback = async (...args: Parameters): Promise => { return withMonitor( name, async () => { // We have to manually catch here and capture the exception because node-cron swallows errors // https://github.com/node-cron/node-cron/issues/399 try { - return await callback(); + return await callback(...args); } catch (e) { captureException(e, { mechanism: {