sidekiq-cron 0.6.3 → 1.10.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 +5 -5
- data/CHANGELOG.md +145 -0
- data/Gemfile +3 -29
- data/README.md +175 -121
- data/Rakefile +3 -42
- data/lib/sidekiq/cron/job.rb +273 -144
- data/lib/sidekiq/cron/launcher.rb +39 -43
- data/lib/sidekiq/cron/locales/de.yml +2 -2
- data/lib/sidekiq/cron/locales/en.yml +6 -2
- data/lib/sidekiq/cron/locales/it.yml +23 -0
- data/lib/sidekiq/cron/locales/ja.yml +18 -0
- data/lib/sidekiq/cron/locales/pt.yml +22 -0
- data/lib/sidekiq/cron/locales/ru.yml +2 -2
- data/lib/sidekiq/cron/locales/zh-CN.yml +19 -0
- data/lib/sidekiq/cron/poller.rb +22 -12
- data/lib/sidekiq/cron/schedule_loader.rb +22 -0
- data/lib/sidekiq/cron/support.rb +8 -1
- data/lib/sidekiq/cron/version.rb +7 -0
- data/lib/sidekiq/cron/views/cron.erb +38 -28
- data/lib/sidekiq/cron/views/cron_show.erb +88 -0
- data/lib/sidekiq/cron/web.rb +1 -7
- data/lib/sidekiq/cron/web_extension.rb +19 -15
- data/lib/sidekiq/cron.rb +1 -0
- data/lib/sidekiq/options.rb +25 -0
- data/sidekiq-cron.gemspec +23 -108
- data/test/integration/performance_test.rb +13 -19
- data/test/models/person.rb +21 -0
- data/test/test_helper.rb +37 -38
- data/test/unit/fixtures/schedule_array.yml +13 -0
- data/test/unit/fixtures/schedule_erb.yml +6 -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 +450 -35
- data/test/unit/launcher_test.rb +33 -0
- data/test/unit/poller_test.rb +28 -37
- data/test/unit/schedule_loader_test.rb +58 -0
- data/test/unit/web_extension_test.rb +59 -41
- metadata +72 -191
- data/.document +0 -5
- data/.travis.yml +0 -19
- data/Changes.md +0 -50
- data/Dockerfile +0 -32
- data/VERSION +0 -1
- data/config.ru +0 -14
- data/docker-compose.yml +0 -21
- data/examples/web-cron-ui.png +0 -0
- data/lib/sidekiq/cron/views/cron.slim +0 -69
metadata
CHANGED
@@ -1,282 +1,157 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-cron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ondrej Bartas
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: fugit
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '1.8'
|
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: '1.8'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: sidekiq
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
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:
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
40
|
+
version: '6'
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
42
|
+
name: globalid
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
58
44
|
requirements:
|
59
45
|
- - ">="
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
type: :
|
47
|
+
version: 1.0.1
|
48
|
+
type: :runtime
|
63
49
|
prerelease: false
|
64
50
|
version_requirements: !ruby/object:Gem::Requirement
|
65
51
|
requirements:
|
66
52
|
- - ">="
|
67
53
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
54
|
+
version: 1.0.1
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
56
|
+
name: minitest
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
72
58
|
requirements:
|
73
|
-
- - "
|
59
|
+
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
61
|
+
version: '5.15'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- - "
|
66
|
+
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
68
|
+
version: '5.15'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
70
|
+
name: mocha
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
|
-
- - "
|
73
|
+
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
75
|
+
version: '1.14'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
|
-
- - "
|
80
|
+
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
82
|
+
version: '1.14'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: rack
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
|
-
- - "
|
87
|
+
- - "~>"
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
89
|
+
version: '2.2'
|
104
90
|
type: :development
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
|
-
- - "
|
94
|
+
- - "~>"
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
96
|
+
version: '2.2'
|
111
97
|
- !ruby/object:Gem::Dependency
|
112
98
|
name: rack-test
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
|
-
- - "
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: jeweler
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: minitest
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ">="
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ">="
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '0'
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: test-unit
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - ">="
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '0'
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: sdoc
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '0'
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ">="
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: '0'
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: slim
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ">="
|
101
|
+
- - "~>"
|
186
102
|
- !ruby/object:Gem::Version
|
187
|
-
version: '
|
103
|
+
version: '1.1'
|
188
104
|
type: :development
|
189
105
|
prerelease: false
|
190
106
|
version_requirements: !ruby/object:Gem::Requirement
|
191
107
|
requirements:
|
192
|
-
- - "
|
108
|
+
- - "~>"
|
193
109
|
- !ruby/object:Gem::Version
|
194
|
-
version: '
|
110
|
+
version: '1.1'
|
195
111
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
112
|
+
name: rake
|
197
113
|
requirement: !ruby/object:Gem::Requirement
|
198
114
|
requirements:
|
199
|
-
- - "
|
115
|
+
- - "~>"
|
200
116
|
- !ruby/object:Gem::Version
|
201
|
-
version: '0'
|
117
|
+
version: '13.0'
|
202
118
|
type: :development
|
203
119
|
prerelease: false
|
204
120
|
version_requirements: !ruby/object:Gem::Requirement
|
205
121
|
requirements:
|
206
|
-
- - "
|
122
|
+
- - "~>"
|
207
123
|
- !ruby/object:Gem::Version
|
208
|
-
version: '0'
|
124
|
+
version: '13.0'
|
209
125
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - ">="
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '0'
|
216
|
-
type: :development
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - ">="
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '0'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: coveralls
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - ">="
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '0'
|
230
|
-
type: :development
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - ">="
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: '0'
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: shotgun
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - ">="
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '0'
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - ">="
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '0'
|
251
|
-
- !ruby/object:Gem::Dependency
|
252
|
-
name: guard
|
126
|
+
name: simplecov
|
253
127
|
requirement: !ruby/object:Gem::Requirement
|
254
128
|
requirements:
|
255
|
-
- - "
|
129
|
+
- - "~>"
|
256
130
|
- !ruby/object:Gem::Version
|
257
|
-
version: '0'
|
131
|
+
version: '0.21'
|
258
132
|
type: :development
|
259
133
|
prerelease: false
|
260
134
|
version_requirements: !ruby/object:Gem::Requirement
|
261
135
|
requirements:
|
262
|
-
- - "
|
136
|
+
- - "~>"
|
263
137
|
- !ruby/object:Gem::Version
|
264
|
-
version: '0'
|
138
|
+
version: '0.21'
|
265
139
|
- !ruby/object:Gem::Dependency
|
266
|
-
name:
|
140
|
+
name: simplecov-cobertura
|
267
141
|
requirement: !ruby/object:Gem::Requirement
|
268
142
|
requirements:
|
269
|
-
- - "
|
143
|
+
- - "~>"
|
270
144
|
- !ruby/object:Gem::Version
|
271
|
-
version: '
|
145
|
+
version: '2.1'
|
272
146
|
type: :development
|
273
147
|
prerelease: false
|
274
148
|
version_requirements: !ruby/object:Gem::Requirement
|
275
149
|
requirements:
|
276
|
-
- - "
|
150
|
+
- - "~>"
|
277
151
|
- !ruby/object:Gem::Version
|
278
|
-
version: '
|
279
|
-
description: Enables to set jobs to be run in specified time (using CRON notation
|
152
|
+
version: '2.1'
|
153
|
+
description: Enables to set jobs to be run in specified time (using CRON notation
|
154
|
+
or natural language)
|
280
155
|
email: ondrej@bartas.cz
|
281
156
|
executables: []
|
282
157
|
extensions: []
|
@@ -284,42 +159,49 @@ extra_rdoc_files:
|
|
284
159
|
- LICENSE.txt
|
285
160
|
- README.md
|
286
161
|
files:
|
287
|
-
-
|
288
|
-
- ".travis.yml"
|
289
|
-
- Changes.md
|
290
|
-
- Dockerfile
|
162
|
+
- CHANGELOG.md
|
291
163
|
- Gemfile
|
292
164
|
- LICENSE.txt
|
293
165
|
- README.md
|
294
166
|
- Rakefile
|
295
|
-
- VERSION
|
296
|
-
- config.ru
|
297
|
-
- docker-compose.yml
|
298
|
-
- examples/web-cron-ui.png
|
299
167
|
- lib/sidekiq-cron.rb
|
300
168
|
- lib/sidekiq/cron.rb
|
301
169
|
- lib/sidekiq/cron/job.rb
|
302
170
|
- lib/sidekiq/cron/launcher.rb
|
303
171
|
- lib/sidekiq/cron/locales/de.yml
|
304
172
|
- lib/sidekiq/cron/locales/en.yml
|
173
|
+
- lib/sidekiq/cron/locales/it.yml
|
174
|
+
- lib/sidekiq/cron/locales/ja.yml
|
175
|
+
- lib/sidekiq/cron/locales/pt.yml
|
305
176
|
- lib/sidekiq/cron/locales/ru.yml
|
177
|
+
- lib/sidekiq/cron/locales/zh-CN.yml
|
306
178
|
- lib/sidekiq/cron/poller.rb
|
179
|
+
- lib/sidekiq/cron/schedule_loader.rb
|
307
180
|
- lib/sidekiq/cron/support.rb
|
181
|
+
- lib/sidekiq/cron/version.rb
|
308
182
|
- lib/sidekiq/cron/views/cron.erb
|
309
|
-
- lib/sidekiq/cron/views/
|
183
|
+
- lib/sidekiq/cron/views/cron_show.erb
|
310
184
|
- lib/sidekiq/cron/web.rb
|
311
185
|
- lib/sidekiq/cron/web_extension.rb
|
186
|
+
- lib/sidekiq/options.rb
|
312
187
|
- sidekiq-cron.gemspec
|
313
188
|
- test/integration/performance_test.rb
|
189
|
+
- test/models/person.rb
|
314
190
|
- test/test_helper.rb
|
191
|
+
- test/unit/fixtures/schedule_array.yml
|
192
|
+
- test/unit/fixtures/schedule_erb.yml
|
193
|
+
- test/unit/fixtures/schedule_hash.yml
|
194
|
+
- test/unit/fixtures/schedule_string.yml
|
315
195
|
- test/unit/job_test.rb
|
196
|
+
- test/unit/launcher_test.rb
|
316
197
|
- test/unit/poller_test.rb
|
198
|
+
- test/unit/schedule_loader_test.rb
|
317
199
|
- test/unit/web_extension_test.rb
|
318
|
-
homepage:
|
200
|
+
homepage: https://github.com/sidekiq-cron/sidekiq-cron
|
319
201
|
licenses:
|
320
202
|
- MIT
|
321
203
|
metadata: {}
|
322
|
-
post_install_message:
|
204
|
+
post_install_message:
|
323
205
|
rdoc_options: []
|
324
206
|
require_paths:
|
325
207
|
- lib
|
@@ -327,16 +209,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
327
209
|
requirements:
|
328
210
|
- - ">="
|
329
211
|
- !ruby/object:Gem::Version
|
330
|
-
version: '
|
212
|
+
version: '2.7'
|
331
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
332
214
|
requirements:
|
333
215
|
- - ">="
|
334
216
|
- !ruby/object:Gem::Version
|
335
217
|
version: '0'
|
336
218
|
requirements: []
|
337
|
-
|
338
|
-
|
339
|
-
signing_key:
|
219
|
+
rubygems_version: 3.4.6
|
220
|
+
signing_key:
|
340
221
|
specification_version: 4
|
341
|
-
summary:
|
222
|
+
summary: Scheduler/Cron for Sidekiq jobs
|
342
223
|
test_files: []
|
data/.document
DELETED
data/.travis.yml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.3.1
|
4
|
-
- 2.2.2
|
5
|
-
services:
|
6
|
-
- redis-server
|
7
|
-
branches:
|
8
|
-
only:
|
9
|
-
- master
|
10
|
-
notifications:
|
11
|
-
email:
|
12
|
-
recipients:
|
13
|
-
- ondrej@bartas.cz
|
14
|
-
env:
|
15
|
-
travis: 'yes'
|
16
|
-
matrix:
|
17
|
-
allow_failures:
|
18
|
-
- rvm: jruby-19mode
|
19
|
-
- rvm: rbx-19mode
|
data/Changes.md
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
v 0.6.0
|
2
|
-
-------
|
3
|
-
|
4
|
-
- set poller to check jobs every 30s by default (possible to override by `Sidekiq.options[:poll_interval] = 10`)
|
5
|
-
- add group actions (enqueue, enable, disable, delete) all in web view
|
6
|
-
- fix poller to enqueu all jobs in poll start time
|
7
|
-
- add performance test for enqueue of jobs (10 000 jobs in less than 19s)
|
8
|
-
- fix problem with default queue
|
9
|
-
- remove redis-namespace from dependencies
|
10
|
-
- update ruby versions in travis
|
11
|
-
|
12
|
-
v 0.5.0
|
13
|
-
-------
|
14
|
-
- add docker support
|
15
|
-
- all crons are now evaluated in UTC
|
16
|
-
- fix rufus scheduler & timezones problems
|
17
|
-
- add support for sidekiq 4.2.1
|
18
|
-
- fix readme
|
19
|
-
- add Russian locale
|
20
|
-
- user Rack.env in tests
|
21
|
-
- faster enque of jobs
|
22
|
-
- permit to use ActiveJob::Base.queue_name_delimiter
|
23
|
-
- fix problem with multiple times enque #84
|
24
|
-
- fix problem with enque of unknown class
|
25
|
-
|
26
|
-
v 0.4.0
|
27
|
-
-------
|
28
|
-
|
29
|
-
- enable to work with sidekiq >= 4.0.0
|
30
|
-
- fix readme
|
31
|
-
|
32
|
-
v 0.3.1
|
33
|
-
-------
|
34
|
-
|
35
|
-
- add CSRF tags to forms so it will work with sidekiq >= 3.4.2
|
36
|
-
- remove tilt dependency
|
37
|
-
|
38
|
-
v 0.3.0
|
39
|
-
-------
|
40
|
-
|
41
|
-
- suport for Active Job
|
42
|
-
- sidekiq cron web ui needs to be loaded by: require 'sidekiq/cron/web'
|
43
|
-
- add load_from_hash! and load_from_array! which cleanup jobs before adding new ones
|
44
|
-
|
45
|
-
v 0.1.1
|
46
|
-
-------
|
47
|
-
|
48
|
-
- add Web fontend with enabled/disable job, unqueue now, delete job
|
49
|
-
- add cron poller - enqueu cro jobs
|
50
|
-
- add cron job - save all needed data to redis
|
data/Dockerfile
DELETED
@@ -1,32 +0,0 @@
|
|
1
|
-
FROM ruby:2.3.1
|
2
|
-
MAINTAINER Joao Serra <joaopfserra@gmail.com>
|
3
|
-
|
4
|
-
RUN apt-get update && \
|
5
|
-
apt-get install -y --force-yes \
|
6
|
-
curl \
|
7
|
-
git \
|
8
|
-
wget \
|
9
|
-
libpq-dev && \
|
10
|
-
apt-get autoremove -y --force-yes && \
|
11
|
-
apt-get clean && \
|
12
|
-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
13
|
-
|
14
|
-
ENV DOCKERIZE_VERSION v0.2.0
|
15
|
-
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
|
16
|
-
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
|
17
|
-
|
18
|
-
RUN gem install bundler
|
19
|
-
|
20
|
-
ENV APP_HOME /sidekiq-cron
|
21
|
-
RUN mkdir $APP_HOME
|
22
|
-
WORKDIR $APP_HOME
|
23
|
-
|
24
|
-
ADD Gemfile* $APP_HOME/
|
25
|
-
|
26
|
-
ENV BUNDLE_GEMFILE=$APP_HOME/Gemfile \
|
27
|
-
BUNDLE_JOBS=2 \
|
28
|
-
BUNDLE_PATH=/bundle
|
29
|
-
|
30
|
-
RUN bundle install
|
31
|
-
|
32
|
-
ADD . $APP_HOME
|
data/VERSION
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
0.6.3
|
data/config.ru
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'sidekiq'
|
2
|
-
|
3
|
-
Sidekiq.configure_client do |config|
|
4
|
-
config.redis = { :size => 1 }
|
5
|
-
end
|
6
|
-
|
7
|
-
require 'sidekiq/web'
|
8
|
-
|
9
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
10
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
11
|
-
|
12
|
-
require 'sidekiq-cron'
|
13
|
-
|
14
|
-
run Sidekiq::Web
|
data/docker-compose.yml
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
version: '2'
|
2
|
-
services:
|
3
|
-
common:
|
4
|
-
build:
|
5
|
-
context: .
|
6
|
-
image: sidekiq-cron-test
|
7
|
-
environment: &environment
|
8
|
-
- REDIS_URL=redis://redis.test:6379/0
|
9
|
-
dns:
|
10
|
-
- 8.8.8.8
|
11
|
-
- 8.8.4.4
|
12
|
-
redis:
|
13
|
-
image: redis
|
14
|
-
tests:
|
15
|
-
image: sidekiq-cron-test
|
16
|
-
environment: *environment
|
17
|
-
links:
|
18
|
-
- redis:redis.test
|
19
|
-
depends_on:
|
20
|
-
- common
|
21
|
-
command: dockerize -wait tcp://redis.test:6379 -timeout 60s rake test
|
data/examples/web-cron-ui.png
DELETED
Binary file
|
@@ -1,69 +0,0 @@
|
|
1
|
-
header.row
|
2
|
-
.span.col-sm-5.pull-left
|
3
|
-
h3 = t('CronJobs')
|
4
|
-
|
5
|
-
.span.col-sm-7.pull-right style="margin-top: 20px; margin-bottom: 10px;"
|
6
|
-
form.pull-right action="#{root_path}cron/__all__/delete" method="post"
|
7
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
8
|
-
input.btn.btn-small.pull-left.btn-danger type="submit" name="enque" value="#{t('DeleteAll')}" data-confirm="#{t('AreYouSureDeleteCronJobs')}"
|
9
|
-
form.pull-right action="#{root_path}cron/__all__/disable" method="post"
|
10
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
11
|
-
input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('DisableAll')}"
|
12
|
-
form.pull-right action="#{root_path}cron/__all__/enable" method="post"
|
13
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
14
|
-
input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnableAll')}"
|
15
|
-
form.pull-right action="#{root_path}cron/__all__/enque" method="post"
|
16
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
17
|
-
input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueAll')}"
|
18
|
-
|
19
|
-
- if @cron_jobs.size > 0
|
20
|
-
|
21
|
-
table class="table table-hover table-bordered table-striped"
|
22
|
-
thead
|
23
|
-
th = t('Status')
|
24
|
-
th = t('Name')
|
25
|
-
th = t('Cron')
|
26
|
-
th = t('Last enque')
|
27
|
-
th width="180px"
|
28
|
-
= t('Actions')
|
29
|
-
|
30
|
-
|
31
|
-
- @cron_jobs.sort{|a,b| a.sort_name <=> b.sort_name }.each_with_index do |job, index|
|
32
|
-
- style = "#{job.status == 'disabled' ? "background: #ecc": ""}"
|
33
|
-
tr
|
34
|
-
td[style="#{style}"]= job.status
|
35
|
-
td[style="#{style}"]
|
36
|
-
b job.name
|
37
|
-
hr style="margin:3px;border:0;"
|
38
|
-
small
|
39
|
-
- if job.message and job.message.to_s.size > 100
|
40
|
-
button data-toggle="collapse" data-target=".worker_#{index}" class="btn btn-mini" = t('ShowAll')
|
41
|
-
.toggle[class="worker_#{index}" style="display: inline;"]= job.message[0..100] + "... "
|
42
|
-
.toggle[class="worker_#{index}" style="display: none;"]= job.message
|
43
|
-
- else
|
44
|
-
= job.message
|
45
|
-
|
46
|
-
td[style="#{style}"]
|
47
|
-
b == job.cron.gsub(" ", " ")
|
48
|
-
td[style="#{style}"]== job.last_enqueue_time ? relative_time(job.last_enqueue_time) : "-"
|
49
|
-
td[style="#{style}"]
|
50
|
-
-if job.status == 'enabled'
|
51
|
-
form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enque" method="post"
|
52
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
53
|
-
input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueNow')}"
|
54
|
-
form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/disable" method="post"
|
55
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
56
|
-
input.btn.btn-small.pull-left type="submit" name="disable" value="#{t('Disable')}"
|
57
|
-
-else
|
58
|
-
form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enque" method="post"
|
59
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
60
|
-
input.btn.btn-small.pull-left type="submit" name="enque" value="#{t('EnqueueNow')}"
|
61
|
-
form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/enable" method="post"
|
62
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
63
|
-
input.btn.btn-small.pull-left type="submit" name="enable" value="#{t('Enable')}"
|
64
|
-
form action="#{root_path}cron/#{CGI.escape(job.name).gsub('+', '%20')}/delete" method="post"
|
65
|
-
= csrf_tag if respond_to?(:csrf_tag)
|
66
|
-
input.btn.btn-danger.btn-small type="submit" name="delete" value="#{t('Delete')}" data-confirm="#{t('AreYouSureDeleteCronJob', :job => job.name)}"
|
67
|
-
|
68
|
-
- else
|
69
|
-
.alert.alert-success = t('NoCronJobsFound')
|