micro_q 0.9.0 → 0.9.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/lib/micro_q/dsl.rb +9 -5
- data/lib/micro_q/manager/default.rb +6 -2
- data/lib/micro_q/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85d71665397e031adb0d4a67fc88d82b96b47e6f
|
4
|
+
data.tar.gz: c689e31647327758e24c3e3284ee02286523821f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37a9585a5a0f6ece2a0f877ebf3e79b124132cc0acbb0f8c6a89e09dcb68a0bbdbbeff3ac7ceaea253c50f66a2a919a09822d5b2d5be3a1c3d80dab83f37698d
|
7
|
+
data.tar.gz: 22fc08bed15a60fb7131f096ee3af9e6b1c352f95b0c30fbf399a37b213282383f240535f9be8d51ea575d191a91b1f5c8246c9552ce4e7d536ea188d50f47f0
|
data/lib/micro_q/dsl.rb
CHANGED
@@ -23,15 +23,19 @@ module MicroQ
|
|
23
23
|
def self.attach_async_methods(target, opts)
|
24
24
|
target.class_eval do
|
25
25
|
(target.microq_options[:methods] |= opts.flatten).each do |method|
|
26
|
-
|
27
|
-
MicroQ::Proxy::Instance.new(
|
28
|
-
target.microq_options.dup.merge(:class => self)
|
29
|
-
).send(method, *args)
|
30
|
-
end unless respond_to?(:"#{method}_async")
|
26
|
+
DSL.define_proxy_method target, method
|
31
27
|
end
|
32
28
|
end
|
33
29
|
end
|
34
30
|
|
31
|
+
def self.define_proxy_method(target, method)
|
32
|
+
target.define_singleton_method(:"#{method}_async") do |*args|
|
33
|
+
MicroQ::Proxy::Instance.new(
|
34
|
+
target.microq_options.dup.merge(:class => self)
|
35
|
+
).send(method, *args)
|
36
|
+
end unless respond_to?(:"#{method}_async")
|
37
|
+
end
|
38
|
+
|
35
39
|
module ClassMethods
|
36
40
|
def worker(*opts)
|
37
41
|
self.class_eval do
|
@@ -63,13 +63,17 @@ module MicroQ
|
|
63
63
|
def build_missing_workers
|
64
64
|
@workers ||= []
|
65
65
|
|
66
|
-
workers.
|
66
|
+
workers.select!(&:alive?)
|
67
67
|
|
68
|
-
|
68
|
+
missing_worker_count.times do
|
69
69
|
workers << MicroQ.config.worker.new_link(current_actor)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
|
+
def missing_worker_count
|
74
|
+
[MicroQ.config.workers - (workers.size + @busy.size), 0].max
|
75
|
+
end
|
76
|
+
|
73
77
|
def kill_all
|
74
78
|
(@workers + @busy).each {|w| w.terminate if w.alive? }
|
75
79
|
end
|
data/lib/micro_q/version.rb
CHANGED