sentry-delayed_job 4.4.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -0
- data/Gemfile +5 -2
- data/LICENSE.txt +1 -1
- data/example/Gemfile +1 -0
- data/lib/sentry/delayed_job/plugin.rb +27 -3
- data/lib/sentry/delayed_job/version.rb +1 -1
- data/lib/sentry-delayed_job.rb +1 -1
- data/sentry-delayed_job.gemspec +4 -3
- metadata +21 -8
- data/.craft.yml +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz: '
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '036399cfd74f8e9417a277a1ff382f1d495ba812a256954beb8433721066ffe9'
|
4
|
+
data.tar.gz: 8e7add89ab01a9d680f705768d4ce4f23be01e8150007871eb9a01075b94dfe8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83d2102cb679f89fc9a160807879eb2c84574abd68092eb590045adff4adb3127146fdb1c69fe888da3a4f0e3d7d6992547fe3a023bbe311d96e195168561a00
|
7
|
+
data.tar.gz: b044bb6ee66131a19bc397281004e980e1b6060f2467a4dd5880cfffd656128baa484a4ffcb7c97292396edd68d8c216098937c7260f788411f9747973e22598
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -8,11 +8,13 @@ gem "i18n", "<= 1.8.7"
|
|
8
8
|
|
9
9
|
gem "rake", "~> 12.0"
|
10
10
|
gem "rspec", "~> 3.0"
|
11
|
-
gem
|
11
|
+
gem 'simplecov'
|
12
|
+
gem "simplecov-cobertura", "~> 1.4"
|
13
|
+
gem "rexml"
|
12
14
|
|
13
15
|
gem "delayed_job"
|
14
16
|
gem "delayed_job_active_record"
|
15
|
-
gem "rails"
|
17
|
+
gem "rails", "< 7.0"
|
16
18
|
gem "activerecord-jdbcmysql-adapter", platform: :jruby
|
17
19
|
gem "jdbc-sqlite3", platform: :jruby
|
18
20
|
gem "sqlite3", platform: :ruby
|
@@ -21,3 +23,4 @@ gem "sentry-ruby", path: "../sentry-ruby"
|
|
21
23
|
gem "sentry-rails", path: "../sentry-rails"
|
22
24
|
|
23
25
|
gem "pry"
|
26
|
+
gem "debug", github: "ruby/debug", platform: :ruby if RUBY_VERSION.to_f >= 2.6
|
data/LICENSE.txt
CHANGED
data/example/Gemfile
CHANGED
@@ -13,14 +13,21 @@ module Sentry
|
|
13
13
|
next block.call(job, *args) unless Sentry.initialized?
|
14
14
|
|
15
15
|
Sentry.with_scope do |scope|
|
16
|
-
|
16
|
+
contexts = generate_contexts(job)
|
17
|
+
scope.set_transaction_name(contexts.dig(ACTIVE_JOB_CONTEXT_KEY, :job_class) || contexts.dig(DELAYED_JOB_CONTEXT_KEY, :job_class))
|
18
|
+
scope.set_contexts(**contexts)
|
17
19
|
scope.set_tags("delayed_job.queue" => job.queue, "delayed_job.id" => job.id.to_s)
|
18
20
|
|
21
|
+
transaction = Sentry.start_transaction(name: scope.transaction_name, op: "delayed_job")
|
22
|
+
scope.set_span(transaction) if transaction
|
23
|
+
|
19
24
|
begin
|
20
25
|
block.call(job, *args)
|
26
|
+
|
27
|
+
finish_transaction(transaction, 200)
|
21
28
|
rescue Exception => e
|
22
29
|
capture_exception(e, job)
|
23
|
-
|
30
|
+
finish_transaction(transaction, 500)
|
24
31
|
raise
|
25
32
|
end
|
26
33
|
end
|
@@ -40,7 +47,8 @@ module Sentry
|
|
40
47
|
queue: job.queue,
|
41
48
|
created_at: job.created_at,
|
42
49
|
last_error: job.last_error&.byteslice(0..1000),
|
43
|
-
handler: job.handler&.byteslice(0..1000)
|
50
|
+
handler: job.handler&.byteslice(0..1000),
|
51
|
+
job_class: compute_job_class(job.payload_object),
|
44
52
|
}
|
45
53
|
|
46
54
|
if job.payload_object.respond_to?(:job_data)
|
@@ -54,6 +62,15 @@ module Sentry
|
|
54
62
|
context
|
55
63
|
end
|
56
64
|
|
65
|
+
def self.compute_job_class(payload_object)
|
66
|
+
if payload_object.is_a? Delayed::PerformableMethod
|
67
|
+
klass = payload_object.object.is_a?(Class) ? payload_object.object.name : payload_object.object.class.name
|
68
|
+
"#{klass}##{payload_object.method_name}"
|
69
|
+
else
|
70
|
+
payload_object.class.name
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
57
74
|
def self.capture_exception(exception, job)
|
58
75
|
Sentry::DelayedJob.capture_exception(exception, hint: { background: false }) if report?(job)
|
59
76
|
end
|
@@ -65,6 +82,13 @@ module Sentry
|
|
65
82
|
# count at this point.
|
66
83
|
job.attempts >= Delayed::Worker.max_attempts.pred
|
67
84
|
end
|
85
|
+
|
86
|
+
def self.finish_transaction(transaction, status)
|
87
|
+
return unless transaction
|
88
|
+
|
89
|
+
transaction.set_http_status(status)
|
90
|
+
transaction.finish
|
91
|
+
end
|
68
92
|
end
|
69
93
|
end
|
70
94
|
end
|
data/lib/sentry-delayed_job.rb
CHANGED
@@ -14,7 +14,7 @@ module Sentry
|
|
14
14
|
if defined?(::Rails::Railtie)
|
15
15
|
class Railtie < ::Rails::Railtie
|
16
16
|
config.after_initialize do
|
17
|
-
next unless Sentry.initialized?
|
17
|
+
next unless Sentry.initialized? && defined?(::Sentry::Rails)
|
18
18
|
|
19
19
|
Sentry.configuration.rails.skippable_job_adapters << "ActiveJob::QueueAdapters::DelayedJobAdapter"
|
20
20
|
end
|
data/sentry-delayed_job.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.authors = ["Sentry Team"]
|
7
7
|
spec.description = spec.summary = "A gem that provides DelayedJob integration for the Sentry error logger"
|
8
8
|
spec.email = "accounts@sentry.io"
|
9
|
-
spec.license = '
|
9
|
+
spec.license = 'MIT'
|
10
10
|
spec.homepage = "https://github.com/getsentry/sentry-ruby"
|
11
11
|
|
12
12
|
spec.platform = Gem::Platform::RUBY
|
@@ -16,11 +16,12 @@ Gem::Specification.new do |spec|
|
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = spec.homepage
|
19
|
-
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/
|
19
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/CHANGELOG.md"
|
20
20
|
|
21
21
|
spec.bindir = "exe"
|
22
22
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
23
|
spec.require_paths = ["lib"]
|
24
24
|
|
25
|
-
spec.add_dependency "sentry-ruby-core", "~>
|
25
|
+
spec.add_dependency "sentry-ruby-core", "~> 5.0.2"
|
26
|
+
spec.add_dependency "delayed_job", ">= 4.0"
|
26
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentry-delayed_job
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sentry Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sentry-ruby-core
|
@@ -16,14 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 5.0.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 5.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: delayed_job
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '4.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.0'
|
27
41
|
description: A gem that provides DelayedJob integration for the Sentry error logger
|
28
42
|
email: accounts@sentry.io
|
29
43
|
executables: []
|
@@ -32,7 +46,6 @@ extra_rdoc_files:
|
|
32
46
|
- README.md
|
33
47
|
- LICENSE.txt
|
34
48
|
files:
|
35
|
-
- ".craft.yml"
|
36
49
|
- ".gitignore"
|
37
50
|
- ".rspec"
|
38
51
|
- CHANGELOG.md
|
@@ -53,11 +66,11 @@ files:
|
|
53
66
|
- sentry-delayed_job.gemspec
|
54
67
|
homepage: https://github.com/getsentry/sentry-ruby
|
55
68
|
licenses:
|
56
|
-
-
|
69
|
+
- MIT
|
57
70
|
metadata:
|
58
71
|
homepage_uri: https://github.com/getsentry/sentry-ruby
|
59
72
|
source_code_uri: https://github.com/getsentry/sentry-ruby
|
60
|
-
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/master/
|
73
|
+
changelog_uri: https://github.com/getsentry/sentry-ruby/blob/master/CHANGELOG.md
|
61
74
|
post_install_message:
|
62
75
|
rdoc_options: []
|
63
76
|
require_paths:
|
@@ -73,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
86
|
- !ruby/object:Gem::Version
|
74
87
|
version: '0'
|
75
88
|
requirements: []
|
76
|
-
rubygems_version: 3.
|
89
|
+
rubygems_version: 3.1.6
|
77
90
|
signing_key:
|
78
91
|
specification_version: 4
|
79
92
|
summary: A gem that provides DelayedJob integration for the Sentry error logger
|
data/.craft.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
minVersion: '0.13.2'
|
2
|
-
github:
|
3
|
-
owner: getsentry
|
4
|
-
repo: sentry-ruby
|
5
|
-
changelogPolicy: simple
|
6
|
-
preReleaseCommand: ruby ../.scripts/bump-version.rb
|
7
|
-
releaseBranchPrefix: release-sentry-delayed_job
|
8
|
-
statusProvider:
|
9
|
-
name: github
|
10
|
-
artifactProvider:
|
11
|
-
name: github
|
12
|
-
targets:
|
13
|
-
- name: gem
|
14
|
-
- name: registry
|
15
|
-
type: sdk
|
16
|
-
config:
|
17
|
-
canonical: 'gem:sentry-delayed_job'
|
18
|
-
- name: github
|
19
|
-
tagPrefix: sentry-delayed_job-v
|
20
|
-
changelog: sentry-delayed_job/CHANGELOG
|