postburner 0.6.0 → 0.6.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/app/models/postburner/job.rb +21 -11
- data/lib/postburner/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca9bed4afd8b585d14934b4ba09b20c58109d8de39d5300d135069e2723c3aba
|
4
|
+
data.tar.gz: 5ae5f4a07e53ac69b4d4b795f3b8c8bdf5b9a087e1a8513f6fed03cb47e48210
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c741884d62b1b71b7c8ce928baff5fef35054c58962f530ee06764b4947477ca394712300256e98409187494092c7164a5f8490482e54a19d0f1776b8465f783
|
7
|
+
data.tar.gz: 193a2e625139d0a441503afc15d64888eb25234d0ae81ca320a319506130e8eb1c960141d60b97066633f6a777ab47fe21d49d42bc448497b4225e8c78924051
|
data/CHANGELOG.md
CHANGED
@@ -24,25 +24,31 @@ module Postburner
|
|
24
24
|
|
25
25
|
before_validation :ensure_sid!
|
26
26
|
before_destroy :delete!
|
27
|
+
after_save_commit :insert_if_queued!
|
27
28
|
|
28
29
|
validates :sid, presence: {strict: true}
|
29
30
|
|
30
31
|
def queue!(options={})
|
31
32
|
return if self.queued_at.present? && self.bkid.present?
|
33
|
+
raise ActiveRecord::RecordInvalid, "Can't queue unless valid." unless self.valid?
|
34
|
+
at = options.delete(:at)
|
32
35
|
|
33
|
-
self.
|
36
|
+
self.run_at = case
|
37
|
+
when at.present?
|
38
|
+
# this is rudimentary, add error handling
|
39
|
+
options[:delay] ||= at.to_i - Time.zone.now.to_i
|
40
|
+
at
|
41
|
+
when options[:delay].present?
|
42
|
+
Time.zone.now + options[:delay].seconds
|
43
|
+
end
|
34
44
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
update_column :run_at, options[:at]
|
40
|
-
options.delete(:at)
|
41
|
-
when options[:delay].present?
|
42
|
-
update_column :run_at, Time.zone.now + options[:delay].seconds
|
43
|
-
end
|
45
|
+
@_insert_options = options
|
46
|
+
|
47
|
+
self.save!
|
48
|
+
end
|
44
49
|
|
45
|
-
|
50
|
+
def will_insert?
|
51
|
+
@_insert_options.is_a? Hash
|
46
52
|
end
|
47
53
|
|
48
54
|
# tube: backburner.worker.queue.backburner-jobs
|
@@ -224,6 +230,10 @@ module Postburner
|
|
224
230
|
}.merge(data))
|
225
231
|
end
|
226
232
|
|
233
|
+
def insert_if_queued!
|
234
|
+
return unless self.will_insert?
|
235
|
+
insert!(@_insert_options)
|
236
|
+
end
|
227
237
|
|
228
238
|
def insert!(options={})
|
229
239
|
response = Backburner::Worker.enqueue(
|
data/lib/postburner/version.rb
CHANGED