sidekiq-cron 1.9.1 → 1.12.0

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.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq-cron
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondrej Bartas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2023-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fugit
@@ -30,14 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 4.2.1
33
+ version: '6'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 4.2.1
40
+ version: '6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: globalid
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: minitest
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +72,14 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '1.14'
75
+ version: '2.1'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '1.14'
82
+ version: '2.1'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rack
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0.21'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov-cobertura
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '2.1'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '2.1'
125
153
  description: Enables to set jobs to be run in specified time (using CRON notation
126
154
  or natural language)
127
155
  email: ondrej@bartas.cz
@@ -157,17 +185,6 @@ files:
157
185
  - lib/sidekiq/cron/web_extension.rb
158
186
  - lib/sidekiq/options.rb
159
187
  - sidekiq-cron.gemspec
160
- - test/integration/performance_test.rb
161
- - test/test_helper.rb
162
- - test/unit/fixtures/schedule_array.yml
163
- - test/unit/fixtures/schedule_erb.yml
164
- - test/unit/fixtures/schedule_hash.yml
165
- - test/unit/fixtures/schedule_string.yml
166
- - test/unit/job_test.rb
167
- - test/unit/launcher_test.rb
168
- - test/unit/poller_test.rb
169
- - test/unit/schedule_loader_test.rb
170
- - test/unit/web_extension_test.rb
171
188
  homepage: https://github.com/sidekiq-cron/sidekiq-cron
172
189
  licenses:
173
190
  - MIT
@@ -180,14 +197,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
180
197
  requirements:
181
198
  - - ">="
182
199
  - !ruby/object:Gem::Version
183
- version: '2.6'
200
+ version: '2.7'
184
201
  required_rubygems_version: !ruby/object:Gem::Requirement
185
202
  requirements:
186
203
  - - ">="
187
204
  - !ruby/object:Gem::Version
188
205
  version: '0'
189
206
  requirements: []
190
- rubygems_version: 3.2.33
207
+ rubygems_version: 3.4.10
191
208
  signing_key:
192
209
  specification_version: 4
193
210
  summary: Scheduler/Cron for Sidekiq jobs
@@ -1,46 +0,0 @@
1
- require './test/test_helper'
2
- require 'benchmark'
3
-
4
- describe 'Performance Poller' do
5
- JOBS_NUMBER = 10_000
6
- MAX_SECONDS = 60
7
-
8
- before do
9
- # Clear all previous saved data from Redis.
10
- Sidekiq.redis do |conn|
11
- conn.flushdb
12
- end
13
-
14
- args = {
15
- queue: "default",
16
- cron: "*/2 * * * *",
17
- klass: "CronTestClass"
18
- }
19
-
20
- JOBS_NUMBER.times do |i|
21
- Sidekiq::Cron::Job.create(args.merge(name: "Test#{i}"))
22
- end
23
-
24
- @poller = Sidekiq::Cron::Poller.new(Sidekiq.const_defined?(:Config) ? Sidekiq::Config.new : {})
25
- now = Time.now.utc + 3600
26
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 10, 5)
27
- Time.stubs(:now).returns(enqueued_time)
28
- end
29
-
30
- it "should enqueue #{JOBS_NUMBER} jobs in less than #{MAX_SECONDS}s" do
31
- Sidekiq.redis do |conn|
32
- assert_equal 0, conn.llen("queue:default"), 'Queue should be empty'
33
- end
34
-
35
- bench = Benchmark.measure {
36
- @poller.enqueue
37
- }
38
-
39
- Sidekiq.redis do |conn|
40
- assert_equal JOBS_NUMBER, conn.llen("queue:default"), 'Queue should be full'
41
- end
42
-
43
- puts "Performance test finished in #{bench.real}"
44
- assert_operator bench.real, :<, MAX_SECONDS
45
- end
46
- end
data/test/test_helper.rb DELETED
@@ -1,87 +0,0 @@
1
- $TESTING = true
2
- ENV['RACK_ENV'] = 'test'
3
-
4
- require 'simplecov'
5
- SimpleCov.start do
6
- add_filter "test/"
7
- add_group 'Sidekiq-Cron', 'lib/'
8
- end
9
-
10
- require "minitest/autorun"
11
- require "rack/test"
12
- require 'mocha/minitest'
13
- require 'sidekiq'
14
- require 'sidekiq/web'
15
- require "sidekiq/cli"
16
- require 'sidekiq-cron'
17
- require 'sidekiq/cron/web'
18
-
19
- Sidekiq.logger.level = Logger::ERROR
20
- Sidekiq.configure_client do |config|
21
- config.redis = { url: ENV['REDIS_URL'] || 'redis://0.0.0.0:6379' }
22
- end
23
-
24
- # For testing symbolize args
25
- class Hash
26
- def symbolize_keys
27
- transform_keys { |key| key.to_sym rescue key }
28
- end
29
- end
30
-
31
- class CronTestClass
32
- include Sidekiq::Worker
33
- sidekiq_options retry: true
34
-
35
- def perform args = {}
36
- puts "super croned job #{args}"
37
- end
38
- end
39
-
40
- class CronTestClassWithQueue
41
- include Sidekiq::Worker
42
- sidekiq_options queue: :super, retry: false, backtrace: true
43
-
44
- def perform args = {}
45
- puts "super croned job #{args}"
46
- end
47
- end
48
-
49
- module ActiveJob
50
- class Base
51
- attr_accessor *%i[job_class provider_job_id queue_name arguments]
52
-
53
- def initialize
54
- yield self if block_given?
55
- self.provider_job_id ||= SecureRandom.hex(12)
56
- end
57
-
58
- def self.queue_name_prefix
59
- @queue_name_prefix
60
- end
61
-
62
- def self.queue_name_prefix=(queue_name_prefix)
63
- @queue_name_prefix = queue_name_prefix
64
- end
65
-
66
- def self.set(options)
67
- @queue = options['queue']
68
-
69
- self
70
- end
71
-
72
- def try(method, *args, &block)
73
- send method, *args, &block if respond_to? method
74
- end
75
-
76
- def self.perform_later(*args)
77
- new do |instance|
78
- instance.job_class = self.class.name
79
- instance.queue_name = @queue
80
- instance.arguments = [*args]
81
- end
82
- end
83
- end
84
- end
85
-
86
- class ActiveJobCronTestClass < ActiveJob::Base
87
- end
@@ -1,13 +0,0 @@
1
- ---
2
- -
3
- name: "my_first_job"
4
- cron: "*/5 * * * *"
5
- class: "HardWorker"
6
- queue: "hard_worker"
7
- -
8
- name: "second_job"
9
- cron: "*/30 * * * *"
10
- class: "HardWorker"
11
- queue: "hard_worker_long"
12
- args:
13
- hard: "stuff"
@@ -1,6 +0,0 @@
1
- ---
2
- default: &default
3
- cron: <%= "every day at 5 pm" %>
4
- class: <%= "DailyJob" %>
5
-
6
- daily_job: *default
@@ -1,12 +0,0 @@
1
- ---
2
- my_first_job:
3
- cron: "*/5 * * * *"
4
- class: "HardWorker"
5
- queue: hard_worker
6
-
7
- second_job:
8
- cron: "*/30 * * * *"
9
- class: "HardWorker"
10
- queue: hard_worker_long
11
- args:
12
- hard: "stuff"
@@ -1 +0,0 @@
1
- --- string