Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions platform-includes/crons/setup/php.symfony.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,14 @@ sentry:

The monitor slug is the schedule name, a name for the message, and the ID that Symfony gives the recurring message, for example `default-app-send-report-1a2b3c4d`. The name is the command for scheduled console commands, the service and method for scheduled services, and the class name for other messages. The ID changes when the message or its schedule changes, which creates a new monitor.

Sentry creates each monitor from the message's schedule on its first check-in:

- `RecurringMessage::cron()` and `#[AsCronTask]` send the cron expression and its timezone.
- `RecurringMessage::every()` and `#[AsPeriodicTask]` send the interval when it's a whole number of minutes.
- A jitter widens the check-in margin to cover it.

For schedules that can't be expressed in the Crons schedule format (for example, a message that runs every 10 seconds), triggers that skip runs, such as excluded time ranges, and custom triggers, the SDK sends check-ins without a schedule, and you need to create the monitor in Sentry with the same slug.

`RedispatchMessage` isn't monitored; the message it redispatches is monitored when a worker consumes it. Retried messages, cancelled runs, and messages of anonymous classes don't send check-ins.

To skip some recurring messages, list them under `excluded_messages`. An entry matches the message class, the command name or full command of a scheduled console command, the `@service::method` of a scheduled service, or the monitor slug. Entries wrapped in slashes are regular expressions.
Expand Down
Loading