sidekiq-cron 1.9.1 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
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