sidekiq-cron 0.6.3 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,9 +5,7 @@ require './test/test_helper'
5
5
  describe 'Cron Poller' do
6
6
  before do
7
7
  Sidekiq.redis = REDIS
8
- Sidekiq.redis do |conn|
9
- conn.flushdb
10
- end
8
+ Redis.current.flushdb
11
9
 
12
10
  #clear all previous saved data from redis
13
11
  Sidekiq.redis do |conn|
@@ -28,8 +26,8 @@ describe 'Cron Poller' do
28
26
  end
29
27
 
30
28
  it 'not enqueue any job - new jobs' do
31
- now = Time.now.utc
32
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 5, 1)
29
+ now = Time.now.utc + 3600
30
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 5, 1)
33
31
  Time.stubs(:now).returns(enqueued_time)
34
32
  #new jobs!
35
33
  Sidekiq::Cron::Job.create(@args)
@@ -43,19 +41,20 @@ describe 'Cron Poller' do
43
41
  end
44
42
 
45
43
  #30 seconds after!
46
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 5, 30)
44
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 5, 30)
47
45
  Time.stubs(:now).returns(enqueued_time)
48
- @poller.enqueue
49
46
 
50
- Sidekiq.redis do |conn|
51
- assert_equal 0, conn.llen("queue:default")
52
- assert_equal 0, conn.llen("queue:super")
53
- end
47
+ @poller.enqueue
48
+
49
+ Sidekiq.redis do |conn|
50
+ assert_equal 0, conn.llen("queue:default")
51
+ assert_equal 0, conn.llen("queue:super")
52
+ end
54
53
  end
55
54
 
56
55
  it 'should enqueue only job with cron */2' do
57
- now = Time.now.utc
58
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 5, 1)
56
+ now = Time.now.utc + 3600
57
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 5, 1)
59
58
  Time.stubs(:now).returns(enqueued_time)
60
59
  #new jobs!
61
60
  Sidekiq::Cron::Job.create(@args)
@@ -68,7 +67,7 @@ describe 'Cron Poller' do
68
67
  assert_equal 0, conn.llen("queue:super")
69
68
  end
70
69
 
71
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 6, 1)
70
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 6, 1)
72
71
  Time.stubs(:now).returns(enqueued_time)
73
72
  @poller.enqueue
74
73
 
@@ -79,8 +78,8 @@ describe 'Cron Poller' do
79
78
  end
80
79
 
81
80
  it 'should enqueue both jobs' do
82
- now = Time.now.utc
83
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 8, 1)
81
+ now = Time.now.utc + 3600
82
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 8, 1)
84
83
  Time.stubs(:now).returns(enqueued_time)
85
84
  #new jobs!
86
85
  Sidekiq::Cron::Job.create(@args)
@@ -93,7 +92,7 @@ describe 'Cron Poller' do
93
92
  assert_equal 0, conn.llen("queue:super")
94
93
  end
95
94
 
96
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 10, 5)
95
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 10, 5)
97
96
  Time.stubs(:now).returns(enqueued_time)
98
97
  @poller.enqueue
99
98
 
@@ -104,8 +103,8 @@ describe 'Cron Poller' do
104
103
  end
105
104
 
106
105
  it 'should enqueue both jobs but only one time each' do
107
- now = Time.now.utc
108
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 8, 1)
106
+ now = Time.now.utc + 3600
107
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 8, 1)
109
108
  Time.stubs(:now).returns(enqueued_time)
110
109
  #new jobs!
111
110
  Sidekiq::Cron::Job.create(@args)
@@ -118,7 +117,7 @@ describe 'Cron Poller' do
118
117
  assert_equal 0, conn.llen("queue:super")
119
118
  end
120
119
 
121
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 20, 1)
120
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 20, 1)
122
121
  Time.stubs(:now).returns(enqueued_time)
123
122
  @poller.enqueue
124
123
  Sidekiq.redis do |conn|
@@ -126,7 +125,7 @@ describe 'Cron Poller' do
126
125
  assert_equal 1, conn.llen("queue:super")
127
126
  end
128
127
 
129
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 20, 2)
128
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 20, 2)
130
129
  Time.stubs(:now).returns(enqueued_time)
131
130
  @poller.enqueue
132
131
  Sidekiq.redis do |conn|
@@ -134,7 +133,7 @@ describe 'Cron Poller' do
134
133
  assert_equal 1, conn.llen("queue:super")
135
134
  end
136
135
 
137
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 20, 20)
136
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 20, 20)
138
137
  Time.stubs(:now).returns(enqueued_time)
139
138
  @poller.enqueue
140
139
  Sidekiq.redis do |conn|
@@ -142,7 +141,7 @@ describe 'Cron Poller' do
142
141
  assert_equal 1, conn.llen("queue:super")
143
142
  end
144
143
 
145
- enqueued_time = Time.new(now.year, now.month, now.day, now.hour + 1, 20, 50)
144
+ enqueued_time = Time.new(now.year, now.month, now.day, now.hour, 20, 50)
146
145
  Time.stubs(:now).returns(enqueued_time)
147
146
  @poller.enqueue
148
147
  Sidekiq.redis do |conn|
@@ -9,7 +9,7 @@ describe 'Cron web' do
9
9
 
10
10
  before do
11
11
  Sidekiq.redis = REDIS
12
- Sidekiq.redis {|c| c.flushdb }
12
+ Redis.current.flushdb
13
13
 
14
14
  #clear all previous saved data from redis
15
15
  Sidekiq.redis do |conn|
@@ -41,7 +41,7 @@ describe 'Cron web' do
41
41
 
42
42
  it 'display cron web with message - no cron jobs' do
43
43
  get '/cron'
44
- assert last_response.body.include?('No cron jobs found')
44
+ assert last_response.body.include?('No cron jobs were found')
45
45
  end
46
46
 
47
47
  it 'display cron web with cron jobs table' do
@@ -49,7 +49,7 @@ describe 'Cron web' do
49
49
 
50
50
  get '/cron'
51
51
  assert_equal 200, last_response.status
52
- refute last_response.body.include?('No cron jobs found')
52
+ refute last_response.body.include?('No cron jobs were found')
53
53
  assert last_response.body.include?('table')
54
54
  assert last_response.body.include?("TestNameOfCronJob")
55
55
  end
@@ -66,6 +66,25 @@ describe 'Cron web' do
66
66
  @cron_job_name = "TesQueueNameOfCronJob"
67
67
  end
68
68
 
69
+ it 'shows history of a cron job' do
70
+ @job.enque!
71
+ get "/cron/#{@name}"
72
+
73
+ jid =
74
+ Sidekiq.redis do |conn|
75
+ history = conn.lrange Sidekiq::Cron::Job.jid_history_key(@name), 0, -1
76
+ Sidekiq.load_json(history.last)['jid']
77
+ end
78
+
79
+ assert last_response.body.include?(jid)
80
+ end
81
+
82
+ it 'redirects to cron path when name not found' do
83
+ get '/cron/some-fake-name'
84
+
85
+ assert_match %r{\/cron\z}, last_response['Location']
86
+ end
87
+
69
88
  it "disable and enable all cron jobs" do
70
89
  post "/cron/__all__/disable"
71
90
  assert_equal Sidekiq::Cron::Job.find(@name).status, "disabled"
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: 0.6.3
4
+ version: 1.2.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: 2017-06-20 00:00:00.000000000 Z
11
+ date: 2020-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sidekiq
@@ -25,19 +25,19 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.2.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: rufus-scheduler
28
+ name: fugit
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.3.0
33
+ version: '1.1'
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: 3.3.0
40
+ version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -302,11 +302,15 @@ files:
302
302
  - lib/sidekiq/cron/launcher.rb
303
303
  - lib/sidekiq/cron/locales/de.yml
304
304
  - lib/sidekiq/cron/locales/en.yml
305
+ - lib/sidekiq/cron/locales/ja.yml
305
306
  - lib/sidekiq/cron/locales/ru.yml
307
+ - lib/sidekiq/cron/locales/zh-CN.yml
306
308
  - lib/sidekiq/cron/poller.rb
307
309
  - lib/sidekiq/cron/support.rb
308
310
  - lib/sidekiq/cron/views/cron.erb
309
311
  - lib/sidekiq/cron/views/cron.slim
312
+ - lib/sidekiq/cron/views/cron_show.erb
313
+ - lib/sidekiq/cron/views/cron_show.slim
310
314
  - lib/sidekiq/cron/web.rb
311
315
  - lib/sidekiq/cron/web_extension.rb
312
316
  - sidekiq-cron.gemspec
@@ -335,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
335
339
  version: '0'
336
340
  requirements: []
337
341
  rubyforge_project:
338
- rubygems_version: 2.5.1
342
+ rubygems_version: 2.5.2.3
339
343
  signing_key:
340
344
  specification_version: 4
341
345
  summary: Sidekiq Cron helps to add repeated scheduled jobs