sidekiq-cron 0.1.5 → 0.1.6
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.
- data/.travis.yml +2 -0
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/sidekiq/cron/job.rb +6 -7
- data/sidekiq-cron.gemspec +6 -6
- data/test/unit/job_test.rb +3 -3
- data/test/unit/poller_test.rb +6 -1
- metadata +7 -7
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -38,7 +38,7 @@ _Job properties_:
|
|
38
38
|
'klass' => 'MyClass',
|
39
39
|
#OPTIONAL
|
40
40
|
'queue' => 'name of queue',
|
41
|
-
'args' => '[Array or Hash] of arguments
|
41
|
+
'args' => '[Array or Hash] of arguments which will be passed to perform method'
|
42
42
|
}
|
43
43
|
```
|
44
44
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.6
|
data/lib/sidekiq/cron/job.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'sidekiq'
|
2
2
|
require 'sidekiq/util'
|
3
3
|
require 'sidekiq/actor'
|
4
|
-
require '
|
4
|
+
require 'rufus-scheduler'
|
5
5
|
|
6
6
|
module Sidekiq
|
7
7
|
module Cron
|
@@ -263,8 +263,8 @@ module Sidekiq
|
|
263
263
|
errors << "'cron' must be set"
|
264
264
|
else
|
265
265
|
begin
|
266
|
-
cron =
|
267
|
-
cron.
|
266
|
+
cron = Rufus::Scheduler::CronLine.new(@cron)
|
267
|
+
cron.next_time(Time.now)
|
268
268
|
rescue Exception => e
|
269
269
|
#fix for different versions of cron-parser
|
270
270
|
if e.message == "Bad Vixie-style specification bad"
|
@@ -336,10 +336,7 @@ module Sidekiq
|
|
336
336
|
# Parse cron specification '* * * * *' and returns
|
337
337
|
# time when last run should be performed
|
338
338
|
def last_time now = Time.now
|
339
|
-
|
340
|
-
# so by adding 60 second we will get last time after the right time happens
|
341
|
-
# without any delay!
|
342
|
-
CronParser.new(@cron).last(now + 60)
|
339
|
+
Rufus::Scheduler::CronLine.new(@cron).previous_time(now)
|
343
340
|
end
|
344
341
|
|
345
342
|
def formated_last_time now = Time.now
|
@@ -376,6 +373,8 @@ module Sidekiq
|
|
376
373
|
rescue JSON::ParserError
|
377
374
|
[*args] # cast to string array
|
378
375
|
end
|
376
|
+
when Hash
|
377
|
+
[args] # just put hash into array
|
379
378
|
when Array
|
380
379
|
args # do nothing, already array
|
381
380
|
else
|
data/sidekiq-cron.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "sidekiq-cron"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ondrej Bartas"]
|
12
|
-
s.date = "2013-
|
12
|
+
s.date = "2013-10-13"
|
13
13
|
s.description = "Enables to set jobs to be run in specified time (using CRON notation)"
|
14
14
|
s.email = "ondrej@bartas.cz"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -45,7 +45,7 @@ Gem::Specification.new do |s|
|
|
45
45
|
s.homepage = "http://github.com/ondrejbartas/sidekiq-cron"
|
46
46
|
s.licenses = ["MIT"]
|
47
47
|
s.require_paths = ["lib"]
|
48
|
-
s.rubygems_version = "1.8.
|
48
|
+
s.rubygems_version = "1.8.23"
|
49
49
|
s.summary = "Sidekiq Cron helps to add repeated scheduled jobs"
|
50
50
|
|
51
51
|
if s.respond_to? :specification_version then
|
@@ -53,7 +53,7 @@ Gem::Specification.new do |s|
|
|
53
53
|
|
54
54
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
55
55
|
s.add_runtime_dependency(%q<sidekiq>, [">= 2.13.1"])
|
56
|
-
s.add_runtime_dependency(%q<
|
56
|
+
s.add_runtime_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
|
57
57
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
58
58
|
s.add_development_dependency(%q<simplecov>, [">= 0"])
|
59
59
|
s.add_development_dependency(%q<shoulda-context>, [">= 0"])
|
@@ -69,7 +69,7 @@ Gem::Specification.new do |s|
|
|
69
69
|
s.add_development_dependency(%q<shotgun>, [">= 0"])
|
70
70
|
else
|
71
71
|
s.add_dependency(%q<sidekiq>, [">= 2.13.1"])
|
72
|
-
s.add_dependency(%q<
|
72
|
+
s.add_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
|
73
73
|
s.add_dependency(%q<bundler>, [">= 0"])
|
74
74
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
75
75
|
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
@@ -86,7 +86,7 @@ Gem::Specification.new do |s|
|
|
86
86
|
end
|
87
87
|
else
|
88
88
|
s.add_dependency(%q<sidekiq>, [">= 2.13.1"])
|
89
|
-
s.add_dependency(%q<
|
89
|
+
s.add_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
|
90
90
|
s.add_dependency(%q<bundler>, [">= 0"])
|
91
91
|
s.add_dependency(%q<simplecov>, [">= 0"])
|
92
92
|
s.add_dependency(%q<shoulda-context>, [">= 0"])
|
data/test/unit/job_test.rb
CHANGED
@@ -523,9 +523,9 @@ class CronJobTest < Test::Unit::TestCase
|
|
523
523
|
#set something bag to hash
|
524
524
|
@jobs_hash['name_of_job']['cron'] = "bad cron"
|
525
525
|
out = Sidekiq::Cron::Job.load_from_hash @jobs_hash
|
526
|
-
assert_equal out.size,
|
527
|
-
assert_equal
|
528
|
-
assert_equal Sidekiq::Cron::Job.all.size,
|
526
|
+
assert_equal 1, out.size, "should have 1 error"
|
527
|
+
assert_equal ({"name_of_job"=>["'cron' -> bad cron: not a valid cronline : 'bad cron'"]}), out
|
528
|
+
assert_equal 1, Sidekiq::Cron::Job.all.size, "Should have only 1 job after load"
|
529
529
|
end
|
530
530
|
|
531
531
|
should "create new jobs and then destroy them all" do
|
data/test/unit/poller_test.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
require './test/test_helper'
|
3
3
|
|
4
|
+
|
4
5
|
class CronPollerTest < Test::Unit::TestCase
|
5
6
|
|
6
7
|
context 'Cron Poller' do
|
@@ -25,9 +26,13 @@ class CronPollerTest < Test::Unit::TestCase
|
|
25
26
|
}
|
26
27
|
@args2 = @args.merge(name: 'with_queue', klass: 'CronTestClassWithQueue', cron: "*/10 * * * *")
|
27
28
|
|
29
|
+
Celluloid.boot
|
28
30
|
@poller = Sidekiq::Cron::Poller.new
|
29
31
|
end
|
30
32
|
|
33
|
+
teardown do
|
34
|
+
Celluloid.shutdown
|
35
|
+
end
|
31
36
|
|
32
37
|
should 'not enqueue any job - new jobs' do
|
33
38
|
now = Time.now
|
@@ -154,4 +159,4 @@ class CronPollerTest < Test::Unit::TestCase
|
|
154
159
|
end
|
155
160
|
|
156
161
|
end
|
157
|
-
end
|
162
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-cron
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-10-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sidekiq
|
@@ -28,13 +28,13 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 2.13.1
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: rufus-scheduler
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
37
|
+
version: 2.0.24
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
45
|
+
version: 2.0.24
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: bundler
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -298,7 +298,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
298
298
|
version: '0'
|
299
299
|
segments:
|
300
300
|
- 0
|
301
|
-
hash:
|
301
|
+
hash: -593131828609245339
|
302
302
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
303
303
|
none: false
|
304
304
|
requirements:
|
@@ -307,7 +307,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
307
307
|
version: '0'
|
308
308
|
requirements: []
|
309
309
|
rubyforge_project:
|
310
|
-
rubygems_version: 1.8.
|
310
|
+
rubygems_version: 1.8.23
|
311
311
|
signing_key:
|
312
312
|
specification_version: 3
|
313
313
|
summary: Sidekiq Cron helps to add repeated scheduled jobs
|