delayed_job_recurring 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/delayed/recurring_job.rb +8 -42
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 965c0a1107d2dc61cc6a1dee61a417b275518e68
4
- data.tar.gz: b1d65b82b1177210b3a1d8b974f3226e81373cc6
3
+ metadata.gz: 56a419fef66a6f253c1a663f68c8b2014e168b6c
4
+ data.tar.gz: b48e38fab7cd43a9e9a3d172350dce9825f9f13c
5
5
  SHA512:
6
- metadata.gz: 16300293e57bb09cf1d11dfba8ae8b15ea6fbce79d17956b6b1157ef1df1d43a9c5be65ee3b460f42f334858cadce138b97f06ef1c6842195ca6e616fae266aa
7
- data.tar.gz: b99b2a2da50a79d8c4e76e1e186d49ff9a1e5b5222cb7648a91d6b35521c174a53446c457d7cef24080a2ec0182ddeaf6b908580241dd36897d4c637cc8a0851
6
+ metadata.gz: 407dee43ba1a8e56e68889b6286471886e11105169b08057657f309e28419c7b35c5cdca8004e0c8fbdd3d81c5552cc0d9536b4f04098c8a5c1fad29a8c8fb62
7
+ data.tar.gz: 561c484ace963a6e0aa9216a54c425980d6309f09ac7fecaa64e6c60b9d8c5d97e3e23a56b2bd208460f355ca5b6b1d6dbd7dc912542676e0b75f7f2f441e0f1
@@ -40,10 +40,14 @@ module Delayed
40
40
  enqueue_opts = { priority: @schedule_options[:priority], run_at: next_run_time }
41
41
  enqueue_opts[:queue] = @schedule_options[:queue] if @schedule_options[:queue]
42
42
 
43
- if Gem.loaded_specs['delayed_job'].version.to_s.first.to_i < 3
44
- Delayed::Job.enqueue self, enqueue_opts[:priority], enqueue_opts[:run_at]
45
- else
46
- Delayed::Job.enqueue self, enqueue_opts
43
+ Delayed::Job.transaction do
44
+ self.class.jobs.destroy_all
45
+
46
+ if Gem.loaded_specs['delayed_job'].version.to_s.first.to_i < 3
47
+ Delayed::Job.enqueue self, enqueue_opts[:priority], enqueue_opts[:run_at]
48
+ else
49
+ Delayed::Job.enqueue self, enqueue_opts
50
+ end
47
51
  end
48
52
  end
49
53
 
@@ -192,42 +196,4 @@ module Delayed
192
196
 
193
197
  end # ClassMethods
194
198
  end # RecurringJob
195
-
196
- module Task
197
- # Creates a new class wrapper around a block of code to be scheduled.
198
- def self.new(name, options, &block)
199
- task_class = Class.new
200
- task_class.class_eval do
201
- include Delayed::RecurringJob
202
-
203
- def display_name
204
- self.class.name
205
- end
206
-
207
- def perform
208
- block.call
209
- end
210
- end
211
-
212
- Object.const_set(name, task_class) if name
213
- task_class.schedule(options)
214
- return task_class
215
- end
216
-
217
- # Schedule a block of code on-the-fly.
218
- # This is a friendly wrapper for using Task.new without an explicit constant assignment.
219
- # Delayed::Task.schedule('MyNewTask', run_every: 10.minutes, run_at: 1.minute.from_now){do_some_stuff_here}
220
- # or
221
- # Delayed::Task.schedule(run_every: 10.minutes, run_at: 1.minute.from_now){do_some_stuff_here}
222
- def self.schedule(name_or_options={}, options={}, &block)
223
- case name_or_options
224
- when Hash
225
- name, options = nil, name_or_options
226
- else
227
- name = name_or_options
228
- end
229
-
230
- self.new name, options, &block
231
- end
232
- end # Task
233
199
  end # Delayed
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed_job_recurring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tony Novak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-18 00:00:00.000000000 Z
11
+ date: 2016-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  version: '0'
167
167
  requirements: []
168
168
  rubyforge_project:
169
- rubygems_version: 2.2.2
169
+ rubygems_version: 2.6.8
170
170
  signing_key:
171
171
  specification_version: 4
172
172
  summary: Recurring jobs for delayed_job