sidekiq-cron 1.4.0 → 1.8.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.
- checksums.yaml +4 -4
- data/{Changes.md → CHANGELOG.md} +33 -5
- data/README.md +32 -46
- data/lib/sidekiq/cron/job.rb +108 -99
- data/lib/sidekiq/cron/launcher.rb +15 -13
- data/lib/sidekiq/cron/locales/it.yml +23 -0
- data/lib/sidekiq/cron/locales/pt.yml +22 -0
- data/lib/sidekiq/cron/poller.rb +16 -8
- data/lib/sidekiq/cron/schedule_loader.rb +22 -0
- data/lib/sidekiq/cron/support.rb +0 -1
- data/lib/sidekiq/cron/version.rb +1 -1
- data/lib/sidekiq/cron/views/cron.erb +1 -1
- data/lib/sidekiq/cron/web_extension.rb +6 -9
- data/lib/sidekiq/cron.rb +1 -0
- data/lib/sidekiq/options.rb +18 -0
- data/sidekiq-cron.gemspec +13 -15
- data/test/integration/performance_test.rb +1 -1
- data/test/test_helper.rb +1 -0
- data/test/unit/fixtures/schedule_array.yml +13 -0
- data/test/unit/fixtures/schedule_hash.yml +12 -0
- data/test/unit/fixtures/schedule_string.yml +1 -0
- data/test/unit/job_test.rb +125 -21
- data/test/unit/launcher_test.rb +33 -0
- data/test/unit/poller_test.rb +6 -6
- data/test/unit/schedule_loader_test.rb +45 -0
- data/test/unit/web_extension_test.rb +2 -2
- metadata +37 -27
@@ -0,0 +1,45 @@
|
|
1
|
+
require './test/test_helper'
|
2
|
+
|
3
|
+
describe 'ScheduleLoader' do
|
4
|
+
before do
|
5
|
+
Sidekiq.options[:lifecycle_events][:startup].clear
|
6
|
+
end
|
7
|
+
|
8
|
+
describe 'Schedule is defined in hash' do
|
9
|
+
before do
|
10
|
+
Sidekiq::Options[:cron_schedule_file] = 'test/unit/fixtures/schedule_hash.yml'
|
11
|
+
load 'sidekiq/cron/schedule_loader.rb'
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'calls Sidekiq::Cron::Job.load_from_hash' do
|
15
|
+
Sidekiq::Cron::Job.expects(:load_from_hash)
|
16
|
+
Sidekiq.options[:lifecycle_events][:startup].first.call
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
describe 'Schedule is defined in array' do
|
21
|
+
before do
|
22
|
+
Sidekiq::Options[:cron_schedule_file] = 'test/unit/fixtures/schedule_array.yml'
|
23
|
+
load 'sidekiq/cron/schedule_loader.rb'
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'calls Sidekiq::Cron::Job.load_from_array' do
|
27
|
+
Sidekiq::Cron::Job.expects(:load_from_array)
|
28
|
+
Sidekiq.options[:lifecycle_events][:startup].first.call
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe 'Schedule is not defined in hash nor array' do
|
33
|
+
before do
|
34
|
+
Sidekiq::Options[:cron_schedule_file] = 'test/unit/fixtures/schedule_string.yml'
|
35
|
+
load 'sidekiq/cron/schedule_loader.rb'
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'raises an error' do
|
39
|
+
e = assert_raises StandardError do
|
40
|
+
Sidekiq.options[:lifecycle_events][:startup].first.call
|
41
|
+
end
|
42
|
+
assert_equal 'Not supported schedule format. Confirm your test/unit/fixtures/schedule_string.yml', e.message
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -125,14 +125,14 @@ describe 'Cron web' do
|
|
125
125
|
assert_equal 1, conn.llen("queue:default"), "Queue should have 1 job"
|
126
126
|
end
|
127
127
|
|
128
|
-
#
|
128
|
+
# Should enqueue more times.
|
129
129
|
post "/cron/#{job_name}/enque"
|
130
130
|
|
131
131
|
Sidekiq.redis do |conn|
|
132
132
|
assert_equal 2, conn.llen("queue:default"), "Queue should have 2 job"
|
133
133
|
end
|
134
134
|
|
135
|
-
#
|
135
|
+
# Should enqueue to cron job queue.
|
136
136
|
post "/cron/#{cron_job_name}/enque"
|
137
137
|
|
138
138
|
Sidekiq.redis do |conn|
|
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.
|
4
|
+
version: 1.8.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-
|
11
|
+
date: 2022-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fugit
|
@@ -42,72 +42,72 @@ dependencies:
|
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '5.15'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '5.15'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: mocha
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '1.14'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '1.14'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: redis-namespace
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 1.
|
75
|
+
version: '1.8'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.
|
82
|
+
version: '1.8'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rack
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '2.
|
89
|
+
version: '2.2'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '2.
|
96
|
+
version: '2.2'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rack-test
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '1.
|
103
|
+
version: '1.1'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '1.
|
110
|
+
version: '1.1'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,17 +126,18 @@ dependencies:
|
|
126
126
|
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
131
|
+
version: '0.21'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
description: Enables to set jobs to be run in specified time (using CRON notation
|
138
|
+
version: '0.21'
|
139
|
+
description: Enables to set jobs to be run in specified time (using CRON notation
|
140
|
+
or natural language)
|
140
141
|
email: ondrej@bartas.cz
|
141
142
|
executables: []
|
142
143
|
extensions: []
|
@@ -144,7 +145,7 @@ extra_rdoc_files:
|
|
144
145
|
- LICENSE.txt
|
145
146
|
- README.md
|
146
147
|
files:
|
147
|
-
-
|
148
|
+
- CHANGELOG.md
|
148
149
|
- Gemfile
|
149
150
|
- LICENSE.txt
|
150
151
|
- README.md
|
@@ -155,21 +156,30 @@ files:
|
|
155
156
|
- lib/sidekiq/cron/launcher.rb
|
156
157
|
- lib/sidekiq/cron/locales/de.yml
|
157
158
|
- lib/sidekiq/cron/locales/en.yml
|
159
|
+
- lib/sidekiq/cron/locales/it.yml
|
158
160
|
- lib/sidekiq/cron/locales/ja.yml
|
161
|
+
- lib/sidekiq/cron/locales/pt.yml
|
159
162
|
- lib/sidekiq/cron/locales/ru.yml
|
160
163
|
- lib/sidekiq/cron/locales/zh-CN.yml
|
161
164
|
- lib/sidekiq/cron/poller.rb
|
165
|
+
- lib/sidekiq/cron/schedule_loader.rb
|
162
166
|
- lib/sidekiq/cron/support.rb
|
163
167
|
- lib/sidekiq/cron/version.rb
|
164
168
|
- lib/sidekiq/cron/views/cron.erb
|
165
169
|
- lib/sidekiq/cron/views/cron_show.erb
|
166
170
|
- lib/sidekiq/cron/web.rb
|
167
171
|
- lib/sidekiq/cron/web_extension.rb
|
172
|
+
- lib/sidekiq/options.rb
|
168
173
|
- sidekiq-cron.gemspec
|
169
174
|
- test/integration/performance_test.rb
|
170
175
|
- test/test_helper.rb
|
176
|
+
- test/unit/fixtures/schedule_array.yml
|
177
|
+
- test/unit/fixtures/schedule_hash.yml
|
178
|
+
- test/unit/fixtures/schedule_string.yml
|
171
179
|
- test/unit/job_test.rb
|
180
|
+
- test/unit/launcher_test.rb
|
172
181
|
- test/unit/poller_test.rb
|
182
|
+
- test/unit/schedule_loader_test.rb
|
173
183
|
- test/unit/web_extension_test.rb
|
174
184
|
homepage: https://github.com/ondrejbartas/sidekiq-cron
|
175
185
|
licenses:
|
@@ -183,15 +193,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
193
|
requirements:
|
184
194
|
- - ">="
|
185
195
|
- !ruby/object:Gem::Version
|
186
|
-
version: '2.
|
196
|
+
version: '2.6'
|
187
197
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
188
198
|
requirements:
|
189
199
|
- - ">="
|
190
200
|
- !ruby/object:Gem::Version
|
191
201
|
version: '0'
|
192
202
|
requirements: []
|
193
|
-
rubygems_version: 3.1.
|
203
|
+
rubygems_version: 3.1.6
|
194
204
|
signing_key:
|
195
205
|
specification_version: 4
|
196
|
-
summary:
|
206
|
+
summary: Scheduler/Cron for Sidekiq jobs
|
197
207
|
test_files: []
|