Repository navigation
feat(sidekiq): migrate to ActiveJob-first integration - #3134
Conversation
4586b71 to
412cdfc
Compare
906473e to
4f51c1c
Compare
4f51c1c to
185934b
Compare
7671f66 to
87c690c
Compare
91bbe8e to
5520b91
Compare
5520b91 to
e76091f
Compare
e76091f to
6014ce1
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 6014ce1. Configure here.
| context[:jobstr] = ::Sidekiq.dump_json(sidekiq_job) if JobExtension::JOB_STRING_IN_ERROR_CONTEXT | ||
| ErrorHandler.new.call(exception, context, sidekiq_config) | ||
| exception.instance_variable_set(ErrorHandler::HANDLED_SIGNATURE, true) | ||
| end |
There was a problem hiding this comment.
Shutdown reported as job failure
Medium Severity
The ActiveJob handoff ensure treats every unfinished exception as a job failure and sends it through ErrorHandler. That includes Sidekiq::Shutdown, which the standalone middleware never rescued (rescue is StandardError only) and which Sidekiq does not pass to error handlers. Stopping a worker can therefore record in-flight ActiveJob runs as errors.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 6014ce1. Configure here.
| end | ||
|
|
||
| task isolated: isolated_tasks | ||
| end |
There was a problem hiding this comment.
Isolated specs share one process
Medium Severity
spec:isolated runs each isolated example file through RSpec::Core::RakeTask in the current Ruby process. Those files are meant to be separate processes, but registrations, Rails boot, and Sidekiq configuration now leak between spec/isolated/active_job_spec.rb, spec/isolated/native_extension_spec.rb, and spec/isolated/rails_spec.rb.
Reviewed by Cursor Bugbot for commit 6014ce1. Configure here.


Introduces Sidekiq's JobExtension and shared retry/reporting policies, and makes standalone Sidekiq instrumentation use the core producer/consumer helpers.
Routes ActiveJob jobs through Sentry's ActiveJob integration while preserving Sidekiq trace propagation, retry limits, error reporting, delivery metadata, and scope cleanup. Includes queue conformance, early-failure coverage, and separate processes for isolated specs.