sidekiq-cron 0.1.9 → 0.2.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.
data/Gemfile CHANGED
@@ -1,12 +1,13 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'tilt' , '< 2.0.0'
3
4
  gem "sidekiq", ">= 2.17.3"
4
5
  gem 'rufus-scheduler', '>= 2.0.24'
5
6
 
6
7
  group :development do
7
8
  gem "bundler"
8
9
  gem "simplecov"
9
-
10
+
10
11
  gem 'shoulda-context'
11
12
  gem "turn"
12
13
 
@@ -14,12 +15,12 @@ group :development do
14
15
  gem 'rack-test'
15
16
 
16
17
  gem "jeweler", "~> 1.8.3"
17
-
18
+
18
19
  gem "sdoc" # sdoc -N .
19
-
20
+
20
21
  gem "slim"
21
22
  gem "sinatra"
22
-
23
+
23
24
  gem 'mocha'
24
25
  gem 'coveralls'
25
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.9
1
+ 0.2.0
@@ -168,8 +168,11 @@ module Sidekiq
168
168
  #set status of job
169
169
  @status = args['status'] || status_from_redis
170
170
 
171
+ #set last enqueue time - from args or from existing job
171
172
  if args['last_enqueue_time'] && !args['last_enqueue_time'].empty?
172
173
  @last_enqueue_time = Time.parse(args['last_enqueue_time'])
174
+ else
175
+ @last_enqueue_time = last_enqueue_time_from_redis
173
176
  end
174
177
 
175
178
  #get right arguments for job
@@ -223,15 +226,23 @@ module Sidekiq
223
226
  end
224
227
 
225
228
  def status_from_redis
229
+ out = "enabled"
226
230
  if exists?
227
- out = "enabled"
228
231
  Sidekiq.redis do |conn|
229
232
  out = conn.hget redis_key, "status"
230
233
  end
231
- out
232
- else
233
- "enabled"
234
234
  end
235
+ out
236
+ end
237
+
238
+ def last_enqueue_time_from_redis
239
+ out = nil
240
+ if exists?
241
+ Sidekiq.redis do |conn|
242
+ out = Time.parse(conn.hget(redis_key, "last_enqueue_time")) rescue nil
243
+ end
244
+ end
245
+ out
235
246
  end
236
247
 
237
248
  #export job data to hash
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sidekiq-cron"
8
- s.version = "0.1.9"
8
+ s.version = "0.2.0"
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 = "2014-01-27"
12
+ s.date = "2014-01-31"
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 = [
@@ -53,6 +53,7 @@ Gem::Specification.new do |s|
53
53
  s.specification_version = 3
54
54
 
55
55
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
56
+ s.add_runtime_dependency(%q<tilt>, ["< 2.0.0"])
56
57
  s.add_runtime_dependency(%q<sidekiq>, [">= 2.17.3"])
57
58
  s.add_runtime_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
58
59
  s.add_development_dependency(%q<bundler>, [">= 0"])
@@ -69,6 +70,7 @@ Gem::Specification.new do |s|
69
70
  s.add_development_dependency(%q<coveralls>, [">= 0"])
70
71
  s.add_development_dependency(%q<shotgun>, [">= 0"])
71
72
  else
73
+ s.add_dependency(%q<tilt>, ["< 2.0.0"])
72
74
  s.add_dependency(%q<sidekiq>, [">= 2.17.3"])
73
75
  s.add_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
74
76
  s.add_dependency(%q<bundler>, [">= 0"])
@@ -86,6 +88,7 @@ Gem::Specification.new do |s|
86
88
  s.add_dependency(%q<shotgun>, [">= 0"])
87
89
  end
88
90
  else
91
+ s.add_dependency(%q<tilt>, ["< 2.0.0"])
89
92
  s.add_dependency(%q<sidekiq>, [">= 2.17.3"])
90
93
  s.add_dependency(%q<rufus-scheduler>, [">= 2.0.24"])
91
94
  s.add_dependency(%q<bundler>, [">= 0"])
@@ -25,6 +25,7 @@ require "mocha/setup"
25
25
 
26
26
  #SIDEKIQ Require - need to have sidekiq running!
27
27
  require 'celluloid/autostart'
28
+ require 'tilt'
28
29
  require 'sidekiq'
29
30
  require 'sidekiq/util'
30
31
  require 'sidekiq/web'
@@ -291,6 +291,18 @@ class CronJobTest < Test::Unit::TestCase
291
291
  job = Sidekiq::Cron::Job.find(@args)
292
292
  assert_equal job.status, "disabled", "after second find"
293
293
  end
294
+
295
+ should "last_enqueue_time shouldn't be rewritten after save" do
296
+ #adding last_enqueue_time to initialize is only for test purpose
297
+ last_enqueue_time = '2013-01-01 23:59:59'
298
+ Sidekiq::Cron::Job.create(@args.merge('last_enqueue_time' => last_enqueue_time))
299
+ job = Sidekiq::Cron::Job.find(@args)
300
+ assert_equal job.last_enqueue_time, Time.parse(last_enqueue_time)
301
+
302
+ Sidekiq::Cron::Job.create(@args)
303
+ job = Sidekiq::Cron::Job.find(@args)
304
+ assert_equal job.last_enqueue_time, Time.parse(last_enqueue_time), "after second create should have same time"
305
+ end
294
306
  end
295
307
 
296
308
  context "initialize args" do
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.9
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,8 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-01-27 00:00:00.000000000 Z
12
+ date: 2014-01-31 00:00:00.000000000 Z
13
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: tilt
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - <
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - <
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.0
14
30
  - !ruby/object:Gem::Dependency
15
31
  name: sidekiq
16
32
  requirement: !ruby/object:Gem::Requirement
@@ -299,7 +315,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
299
315
  version: '0'
300
316
  segments:
301
317
  - 0
302
- hash: -890325318725409661
318
+ hash: -1703053486073250500
303
319
  required_rubygems_version: !ruby/object:Gem::Requirement
304
320
  none: false
305
321
  requirements: