backburner-allq 1.0.35 → 1.0.36
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/deploy.sh +1 -1
- data/lib/backburner/version.rb +1 -1
- data/lib/backburner/worker.rb +8 -3
- data/test/performable_test.rb +12 -12
- data/test/test_helper.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ac9dbeeb771c9821488a74064bc6bbe1e059cb9e4dc7faf4f25caf08054b4e6
|
4
|
+
data.tar.gz: 298634152be89db02b2b2898b57c9d2fbd9b27354c7b49068af6aadd5613dbe5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 34ee7a51b82f0362485e2346939f70d2bcb3db8412b72ccc237ebf63564b9bd9e9e26613e75fc0c2bdf3f9965ca0b96707db1130f35edfd93e475b7825bf7b9b
|
7
|
+
data.tar.gz: 27df1992ff07455872730e2d7d65638b4b63ee1670d4cddfe940de8f17ee27df002db0fba0b0086ea0da6bafedfdbfaea11f6c4acbc7671b9d95a9999600a057
|
data/deploy.sh
CHANGED
data/lib/backburner/version.rb
CHANGED
data/lib/backburner/worker.rb
CHANGED
@@ -23,8 +23,13 @@ module Backburner
|
|
23
23
|
# @example
|
24
24
|
# Backburner::Worker.enqueue NewsletterSender, [self.id, user.id], :ttr => 1000
|
25
25
|
#
|
26
|
-
def self.enqueue(job_class, args=[], opts={})
|
27
|
-
|
26
|
+
def self.enqueue(job_class, args = [], opts = {})
|
27
|
+
# Invoke Procs if they are sent
|
28
|
+
opts.each_key do |k|
|
29
|
+
opts[k] = opts[k].call job_class, args if opts[k].instance_of?(Proc)
|
30
|
+
end
|
31
|
+
|
32
|
+
opts[:shard_key] = opts[:shard_key].nil? ? 'X' : opts[:shard_key].to_s
|
28
33
|
pri = resolve_priority(opts[:pri] || job_class)
|
29
34
|
delay = [0, opts[:delay].to_i].max
|
30
35
|
ttr = resolve_respond_timeout(opts[:ttr] || job_class)
|
@@ -77,7 +82,7 @@ module Backburner
|
|
77
82
|
#
|
78
83
|
# @example
|
79
84
|
# Worker.new(['test.job'])
|
80
|
-
def initialize(tube_names=nil)
|
85
|
+
def initialize(tube_names = nil)
|
81
86
|
@connection = new_connection
|
82
87
|
@tube_names = self.process_tube_names(tube_names)
|
83
88
|
register_signal_handlers!
|
data/test/performable_test.rb
CHANGED
@@ -29,15 +29,15 @@ describe "Backburner::Performable module" do
|
|
29
29
|
|
30
30
|
describe "for async instance method" do
|
31
31
|
it "should invoke worker enqueue" do
|
32
|
-
Backburner::Worker.expects(:enqueue).with(PerformableTestObj, [56, :foo, true, false], has_entries(:pri => 5000, :queue => "foo"))
|
33
|
-
PerformableTestObj.new.async(:pri => 5000, :queue => "foo").foo(true, false)
|
32
|
+
Backburner::Worker.expects(:enqueue).with(PerformableTestObj, [56, :foo, true, false], has_entries(:pri => 5000, :queue => "foo", :shard_key => "abc"))
|
33
|
+
PerformableTestObj.new.async(:pri => 5000, :queue => "foo", :shard_key => "abc").foo(true, false)
|
34
34
|
end
|
35
35
|
end # async instance
|
36
36
|
|
37
37
|
describe "for async class method" do
|
38
38
|
it "should invoke worker enqueue" do
|
39
|
-
Backburner::Worker.expects(:enqueue).with(PerformableTestObj, [nil, :bar, true, false], has_entries(:pri => 5000, :queue => "foo"))
|
40
|
-
PerformableTestObj.async(:pri => 5000, :queue => "foo").bar(true, false)
|
39
|
+
Backburner::Worker.expects(:enqueue).with(PerformableTestObj, [nil, :bar, true, false], has_entries(:pri => 5000, :queue => "foo", :shard_key => "abc"))
|
40
|
+
PerformableTestObj.async(:pri => 5000, :queue => "foo", :shard_key => "abc").bar(true, false)
|
41
41
|
end
|
42
42
|
end # async class
|
43
43
|
|
@@ -53,16 +53,16 @@ describe "Backburner::Performable module" do
|
|
53
53
|
|
54
54
|
describe "for handle_asynchronously class method" do
|
55
55
|
it "should automagically asynchronously proxy calls to the method" do
|
56
|
-
Backburner::Performable.handle_asynchronously(AutomagicTestObj, :qux, :pri => 5000, :queue => "qux")
|
56
|
+
Backburner::Performable.handle_asynchronously(AutomagicTestObj, :qux, :pri => 5000, :queue => "qux", :shard_key => "abc")
|
57
57
|
|
58
|
-
Backburner::Worker.expects(:enqueue).with(AutomagicTestObj, [56, :qux_without_async, true, false], has_entries(:pri => 5000, :queue => "qux"))
|
58
|
+
Backburner::Worker.expects(:enqueue).with(AutomagicTestObj, [56, :qux_without_async, true, false], has_entries(:pri => 5000, :queue => "qux", :shard_key => "abc"))
|
59
59
|
AutomagicTestObj.new.qux(true, false)
|
60
60
|
end
|
61
61
|
|
62
62
|
it "should work for class methods, too" do
|
63
|
-
Backburner::Performable.handle_static_asynchronously(AutomagicTestObj, :garply, :pri => 5000, :queue => "garply")
|
63
|
+
Backburner::Performable.handle_static_asynchronously(AutomagicTestObj, :garply, :pri => 5000, :queue => "garply", :shard_key => "abc")
|
64
64
|
|
65
|
-
Backburner::Worker.expects(:enqueue).with(AutomagicTestObj, [nil, :garply_without_async, true, false], has_entries(:pri => 5000, :queue => "garply"))
|
65
|
+
Backburner::Worker.expects(:enqueue).with(AutomagicTestObj, [nil, :garply_without_async, true, false], has_entries(:pri => 5000, :queue => "garply", :shard_key => "abc"))
|
66
66
|
AutomagicTestObj.garply(true, false)
|
67
67
|
end
|
68
68
|
|
@@ -74,14 +74,14 @@ describe "Backburner::Performable module" do
|
|
74
74
|
end
|
75
75
|
|
76
76
|
it "should be available for instance methods on any class that includes the Performable module" do
|
77
|
-
AsyncInstanceMethodsTestObj.handle_asynchronously :foo, pri: 5000, queue: 'qux'
|
78
|
-
Backburner::Worker.expects(:enqueue).with(AsyncInstanceMethodsTestObj, [56, :foo_without_async, true, false], has_entries(:pri => 5000, :queue => "qux"))
|
77
|
+
AsyncInstanceMethodsTestObj.handle_asynchronously :foo, pri: 5000, queue: 'qux', shard_key: "abc"
|
78
|
+
Backburner::Worker.expects(:enqueue).with(AsyncInstanceMethodsTestObj, [56, :foo_without_async, true, false], has_entries(:pri => 5000, :queue => "qux", :shard_key => "abc"))
|
79
79
|
AsyncInstanceMethodsTestObj.new.foo(true, false)
|
80
80
|
end
|
81
81
|
|
82
82
|
it "should be available for class methods on any class that includes the Performable module" do
|
83
|
-
AsyncStaticMethodsTestObj.handle_static_asynchronously :bar, pri: 5000, queue: 'garply'
|
84
|
-
Backburner::Worker.expects(:enqueue).with(AsyncStaticMethodsTestObj, [nil, :bar_without_async, true, false], has_entries(:pri => 5000, :queue => "garply"))
|
83
|
+
AsyncStaticMethodsTestObj.handle_static_asynchronously :bar, pri: 5000, queue: 'garply', shard_key: "abc"
|
84
|
+
Backburner::Worker.expects(:enqueue).with(AsyncStaticMethodsTestObj, [nil, :bar_without_async, true, false], has_entries(:pri => 5000, :queue => "garply",:shard_key => "abc"))
|
85
85
|
AsyncStaticMethodsTestObj.bar(true, false)
|
86
86
|
end
|
87
87
|
end
|
data/test/test_helper.rb
CHANGED
@@ -12,7 +12,7 @@ require File.expand_path('../helpers/templogger', __FILE__)
|
|
12
12
|
|
13
13
|
# Configure Backburner
|
14
14
|
Backburner.configure do |config|
|
15
|
-
config.
|
15
|
+
config.allq_url = "allq://127.0.0.1:8091"
|
16
16
|
config.tube_namespace = "demo.test"
|
17
17
|
end
|
18
18
|
|
@@ -88,7 +88,7 @@ class MiniTest::Spec
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def beanstalk_connection
|
91
|
-
Backburner::Connection.new(Backburner.configuration.
|
91
|
+
Backburner::Connection.new(Backburner.configuration.allq_url)
|
92
92
|
end
|
93
93
|
|
94
94
|
# pop_one_job(tube_name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: backburner-allq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Malcolm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: allq_rest
|