sidekiq-cronitor 3.4.0 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ebea71b4352db386aa8712eb8462b88b4f2a91ed0e7921face88453eb56981e7
4
- data.tar.gz: 74fd0296d97a9480d55442d777937c6ae21f6a0821b6c690c8f9d366432ad998
3
+ metadata.gz: b5acee28d3accfbc11ede0358abfd812ccded70317fc9f9993429837cee38502
4
+ data.tar.gz: 5fe4bdb322d84c3af94512cb9d09145a1f5409ac5fc99b0e4a97d8f3a81b0112
5
5
  SHA512:
6
- metadata.gz: 699883656bff1c2adc7e08fcbae41006e4be244a256ffebe30b54b891b51dde4367f412ca4616b6a35571b0c2c892ee4f207696fa42575eb276e203295869260
7
- data.tar.gz: 1edd11e88318b33b950626aae9b7615e0e5bf007ae74bc0e5a68582979f9d6741c5120b9ea4551fd1a3a675890a43d56ca69fa857be3a54b7dd9c9a5b0836677
6
+ metadata.gz: 22056ed9ca15d9a6de93da23e751f88d2ce41dfbb360d1ff02f473017d52a6c9ddfc3fd10a4ed5aa2e043bc197ccd340c652caf5d3144e201557456191515643
7
+ data.tar.gz: dd3218fa9a210969306bf3fa2f9dc0fe621b0625e7579cfa5a61855f4dc5c86de0a30bac88d11b5dd52298e8b4eba1356221789cfc2eb01df523573df6ce1820
@@ -6,15 +6,28 @@ module Sidekiq::Cronitor
6
6
  monitors_payload = []
7
7
  loops = Sidekiq::Periodic::LoopSet.new
8
8
  loops.each do |lop|
9
- job_key = lop.klass.sidekiq_options.fetch('cronitor_key', lop.klass.to_s)
10
- next if lop.klass.sidekiq_options.fetch('cronitor_disabled', false)
9
+ next if fetch_option(lop, 'cronitor_disabled')
11
10
 
12
- monitors_payload << { key: job_key, schedule: lop.schedule, metadata: lop.options, platform: 'sidekiq', type: 'job' }
11
+ monitors_payload << {
12
+ key: fetch_option(lop, 'cronitor_key') || lop.klass.to_s,
13
+ group: fetch_option(lop, 'cronitor_group'),
14
+ grace_seconds: fetch_option(lop, 'cronitor_grace_seconds')&.to_i,
15
+ schedule: lop.schedule,
16
+ timezone: lop.tz_name || Time.respond_to?(:zone) && Time.zone.tzinfo.name || nil,
17
+ metadata: lop.options.to_s,
18
+ platform: 'sidekiq',
19
+ type: 'job'
20
+ }.compact
13
21
  end
14
22
 
15
23
  Cronitor::Monitor.put(monitors: monitors_payload)
16
24
  rescue Cronitor::Error => e
17
25
  Sidekiq.logger.error("[cronitor] error during #{name}.#{__method__}: #{e}")
18
26
  end
27
+
28
+ def self.fetch_option(lop, key)
29
+ lop.options.fetch(key, nil) ||
30
+ lop.klass.constantize.sidekiq_options.fetch(key, nil)
31
+ end
19
32
  end
20
33
  end
@@ -1,5 +1,5 @@
1
1
  module Sidekiq
2
2
  module Cronitor
3
- VERSION = '3.4.0'
3
+ VERSION = '3.5.0'
4
4
  end
5
5
  end
@@ -41,8 +41,18 @@ module Sidekiq::Cronitor
41
41
  end
42
42
 
43
43
  def job_key(worker)
44
- worker.class.sidekiq_options.fetch("cronitor_key", nil) ||
45
- options(worker).fetch(:key, worker.class.name)
44
+ periodic_job_key(worker) || worker.class.sidekiq_options.fetch('cronitor_key', nil) ||
45
+ options(worker).fetch(:key, worker.class.name)
46
+ end
47
+
48
+ def periodic_job_key(worker)
49
+ return unless defined?(Sidekiq::Periodic)
50
+
51
+ periodic_job = Sidekiq::Periodic::LoopSet.new.find do |lop|
52
+ lop.history.find { |j| j[0] == worker.jid }
53
+ end
54
+
55
+ periodic_job.present? && periodic_job.options.fetch('cronitor_key', nil)
46
56
  end
47
57
 
48
58
  def options(worker)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-cronitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zeke Gabrielse
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-08-20 00:00:00.000000000 Z
12
+ date: 2022-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sidekiq