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 CHANGED
@@ -11,6 +11,8 @@ notifications:
11
11
  email:
12
12
  recipients:
13
13
  - ondrej@bartas.cz
14
+ env:
15
+ travis: 'yes'
14
16
  matrix:
15
17
  allow_failures:
16
18
  - rvm: jruby-19mode
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem "sidekiq", ">= 2.13.1"
4
- gem 'parse-cron', '>= 0.1.2'
4
+ gem 'rufus-scheduler', '>= 2.0.24'
5
5
 
6
6
  group :development do
7
7
  gem "bundler"
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 hich will be passed to perform method'
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.5
1
+ 0.1.6
@@ -1,7 +1,7 @@
1
1
  require 'sidekiq'
2
2
  require 'sidekiq/util'
3
3
  require 'sidekiq/actor'
4
- require 'parse-cron'
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 = CronParser.new(@cron)
267
- cron.next(Time.now)
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
- # add 1 minute to Time now - Cron parser return last time after minute ends,
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.5"
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-09-07"
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.24"
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<parse-cron>, [">= 0.1.2"])
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<parse-cron>, [">= 0.1.2"])
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<parse-cron>, [">= 0.1.2"])
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"])
@@ -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, 1, "should have 1 error"
527
- assert_equal out, {"name_of_job"=>["'cron' -> bad cron: not a valid cronline"]}
528
- assert_equal Sidekiq::Cron::Job.all.size, 1, "Should have only 1 job after load"
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
@@ -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.5
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-09-07 00:00:00.000000000 Z
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: parse-cron
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.1.2
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.1.2
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: 2947287720654605412
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.24
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