Repository navigation
Conversation
`nestIntegration({ monitorCronJobs: true })` sends check-ins for every
`@Cron()` method, with the schedule from `@Cron()` as monitor config.
The slug is the `@Cron()` name, else `ClassName.methodName`.
`excludeCronJobs` skips jobs; methods with `@SentryCron` keep their slug.
Co-Authored-By: Claude <noreply@anthropic.com>
size-limit report 📦Compared: bce952f (PR test merge using danf/nestjs-cron-config at a9a89d7) Against: de10e52 (danf/nestjs-cron-config) · base run #64016
|
@nestjs/schedule runs @Cron methods as cron CronJobs, so with monitorCronJobs and cronJobIntegration both on each run sent two sets of check-ins. Mark the onTick Nest passes to CronJob when the method already sends check-ins.
…nf/nestjs-cron-auto-monitor # Conflicts: # packages/nestjs/src/integrations/orchestrion-subscriber.ts
Key the monitored check on the @Cron() options metadata, which outer decorators copy, so it doesn't depend on decorator order.
Optional E2E testsSome optional checks were not successful. They do not block the merge. 1 not successful, 61 successful. See the run.
Successful checks
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 0c123c6. Configure here.
…-nest-auto # Conflicts: # packages/nestjs/src/decorators.ts # packages/nestjs/src/integrations/helpers.ts # packages/nestjs/src/integrations/orchestrion-subscriber.ts

Part of a series adding automatic Crons monitoring for the most-used job schedulers in each SDK. Check-ins for a monitor that doesn't exist yet are dropped, so today each monitor has to be created by hand with its schedule copied from the code. Sending the job's schedule as the monitor config lets Sentry create the monitor and keep it in sync.
Adds
monitorCronJobstonestIntegration. When it's on, every@Cron()method sends check-ins with the schedule and time zone from@Cron()as the monitor config, so apps don't need@SentryCronon each method. It is off by default. The slug is the@Cron()name, orClassName.methodNamewithout one.Methods that also have
@SentryCronkeep their slug and send one set of check-ins. Schedules Crons can't express, like every 10 seconds, check in without a config. It needsenableRuntimeChannelInjection, which is on by default.Stacked on #25013.