micro_q 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 594090928b9d6ed47e533456305b1944bb76d593
4
- data.tar.gz: 76195292f3ea53b5d0b0ceb80033cac71e9e52a0
3
+ metadata.gz: 85d71665397e031adb0d4a67fc88d82b96b47e6f
4
+ data.tar.gz: c689e31647327758e24c3e3284ee02286523821f
5
5
  SHA512:
6
- metadata.gz: a6443272fd150e6ca1e1a022445bd22a462856af5db981b86a207e4665d599d58727125198ccb4ca77ae1077b1f2d225bf4c2f5baacad449894d1bb1491762c2
7
- data.tar.gz: 60c5ffda9d6cf7423ef0a86c6ba6fa012347cc1131db87260855e410f7c4336c09f4d109a817f178ded2b07c70805aaccc60fa02e3f25fa1f55cdc8c797dcd05
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
- target.define_singleton_method(:"#{method}_async") do |*args|
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.reject! {|worker| !worker.alive? }
66
+ workers.select!(&:alive?)
67
67
 
68
- [MicroQ.config.workers - (workers.size + @busy.size), 0].max.times do
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
@@ -1,7 +1,7 @@
1
1
  module MicroQ
2
2
  MAJOR = 0
3
3
  MINOR = 9
4
- POINT = 0
4
+ POINT = 1
5
5
 
6
6
  VERSION = [MAJOR, MINOR, POINT].join('.')
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: micro_q
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Norton