Repository navigation
Conversation
Opt-in via `config.enabled_patches << :solid_queue_recurring`. Each recurring task run sends in_progress/ok/error check-ins with the task key as the slug and its schedule as the monitor config. Co-Authored-By: Claude <noreply@anthropic.com>
Compare the job against the task's job class constant, and only skip jobs whose class actually configured sentry_monitor_check_ins. Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sends Crons check-ins for Solid Queue recurring tasks (
config/recurring.ymland dynamic tasks). Each run sends in_progress/ok/error check-ins with the task key as the slug and the task's schedule (crontab + IANA time zone) as the monitor config, so Sentry upserts the monitor.Enable it like the other scheduler integrations (
:sidekiq_cron,:rufus_scheduler):How it works.
RecurringTask#enqueue(public, same signature in Solid Queue 1.1 through 1.7) marks the job it enqueues, and the job's serialized payload carries the slug and schedule to the worker, where anaround_performsends the check-ins. The schedule is resolved in the scheduler process, using the same zone Solid Queue uses: the zone in the schedule, thenSolidQueue.time_zone(1.7+), then the local zone. The slug comes from the task key, not the job class, so one job class behind several tasks gets one monitor per task. Retries keep the payload, so a retried run checks in again. This also works when a task's job uses a non-Solid Queue adapter.What is skipped.
class:andcommand:tasks are both monitored.L,#, day-of-month AND weekday, non-IANA zones) still send check-ins, but without a monitor config. The conversion is the sharedSentry::Cron::FugitSchedulefrom ref(crons): Extract Fugit schedule conversion #3139.Sentry::Cron::MonitorCheckIns(sentry_monitor_check_ins) are left alone.No CHANGELOG entry: the changelog is generated from PR titles (
changelog.policy: auto) and has no Unreleased section.Stacked on #3139 (which is stacked on #3110).