File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,14 +9,19 @@ module ActiveJobExtensions
99
1010 USER_FIELDS_ALLOWLIST = %w[ id email username ] . freeze
1111
12+ def self . prepended ( base )
13+ base . attr_accessor :_sentry
14+ end
15+
1216 def perform_now
1317 if !Sentry . initialized? || already_supported_by_sentry_integration?
1418 super
1519 else
20+ data = _sentry || { }
1621 SentryReporter . record (
1722 self ,
18- trace_headers : @_sentry_trace_headers ,
19- user : @_sentry_user
23+ trace_headers : data [ "trace_propagation_headers" ] ,
24+ user : data [ "user" ]
2025 ) { super }
2126 end
2227 end
@@ -53,11 +58,7 @@ def deserialize(job_data)
5358 return if !Sentry . initialized? || already_supported_by_sentry_integration?
5459
5560 begin
56- sentry_data = job_data [ SENTRY_PAYLOAD_KEY ]
57- return unless sentry_data
58-
59- @_sentry_trace_headers = sentry_data [ "trace_propagation_headers" ]
60- @_sentry_user = sentry_data [ "user" ]
61+ self . _sentry = job_data [ SENTRY_PAYLOAD_KEY ]
6162 rescue StandardError => e
6263 Sentry . sdk_logger &.error ( "sentry-rails: failed to extract _sentry payload: #{ e . class } : #{ e . message } \n #{ Array ( e . backtrace ) . first ( 5 ) . join ( "\n " ) } " )
6364 end
Original file line number Diff line number Diff line change @@ -64,8 +64,8 @@ def drain(at: nil)
6464 # On 5.2 with Rails52FullPayloadTestAdapter, each payload also
6565 # carries a +:_sentry_full_payload+ key with the complete
6666 # serialize output. Drive those jobs through +Base.execute+ so
67- # our deserialize override runs and populates
68- # +@_sentry_trace_headers+ / +@_sentry_user+ before +perform_now+.
67+ # our deserialize override runs and populates +_sentry+
68+ # before +perform_now+.
6969 jobs = queue_adapter . enqueued_jobs . dup
7070 queue_adapter . enqueued_jobs . clear
7171 jobs . each do |payload |
You can’t perform that action at this time.
0 commit comments