nanite 0.4.1.13 → 0.4.1.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,6 +5,7 @@ require 'json'
5
5
  require 'logger'
6
6
  require 'yaml'
7
7
  require 'openssl'
8
+ require 'fileutils'
8
9
 
9
10
  $:.unshift File.dirname(__FILE__)
10
11
  require 'nanite/amqp'
@@ -39,7 +40,7 @@ require 'nanite/security/static_certificate_store'
39
40
  require 'nanite/serializer'
40
41
 
41
42
  module Nanite
42
- VERSION = '0.4.1.13' unless defined?(Nanite::VERSION)
43
+ VERSION = '0.4.1.14' unless defined?(Nanite::VERSION)
43
44
 
44
45
  class MapperNotRunning < StandardError; end
45
46
 
@@ -183,7 +183,6 @@ module Nanite
183
183
  Nanite::Log.debug("RECV #{packet.to_s}")
184
184
  case packet
185
185
  when Advertise
186
- Nanite::Log.info("RECV #{packet.to_s}") unless Nanite::Log.level == :debug
187
186
  advertise_services
188
187
  when Request, Push
189
188
  if @security && !@security.authorize(packet)
@@ -193,14 +192,11 @@ module Nanite
193
192
  amq.queue(packet.reply_to, :no_declare => options[:secure]).publish(serializer.dump(r))
194
193
  end
195
194
  else
196
- Nanite::Log.info("RECV #{packet.to_s([:from, :tags])}") unless Nanite::Log.level == :debug
197
195
  dispatcher.dispatch(packet)
198
196
  end
199
197
  when Result
200
- Nanite::Log.info("RECV #{packet.to_s([])}") unless Nanite::Log.level == :debug
201
198
  @mapper_proxy.handle_result(packet)
202
199
  when IntermediateMessage
203
- Nanite::Log.info("RECV #{packet.to_s([])}") unless Nanite::Log.level == :debug
204
200
  @mapper_proxy.handle_intermediate_result(packet)
205
201
  end
206
202
  end
@@ -1,5 +1,18 @@
1
1
  class MQ
2
2
  class Queue
3
+
4
+ # Monkey patch to add :no_declare => true for new queue objects. See the
5
+ # explanation for MQ::Exchange#initialize below.
6
+ def initialize mq, name, opts = {}
7
+ @mq = mq
8
+ @opts = opts
9
+ @bindings ||= {}
10
+ @mq.queues[@name = name] ||= self
11
+ @mq.callback{
12
+ @mq.send Protocol::Queue::Declare.new({ :queue => name,
13
+ :nowait => true }.merge(opts))
14
+ } unless opts[:no_declare]
15
+ end
3
16
  # Asks the broker to redeliver all unacknowledged messages on a
4
17
  # specifieid channel. Zero or more messages may be redelivered.
5
18
  #
@@ -48,8 +61,8 @@ module Nanite
48
61
  :insist => options[:insist] || false,
49
62
  :retry => options[:retry] || 5,
50
63
  :connection_status => options[:connection_callback] || proc {|event|
51
- Nanite::Log.debug("CONNECTED to MQ") if event == :connected
52
- Nanite::Log.debug("DISCONNECTED from MQ") if event == :disconnected
64
+ Nanite::Log.debug("Connected to MQ") if event == :connected
65
+ Nanite::Log.debug("Disconnected from MQ") if event == :disconnected
53
66
  }
54
67
  })
55
68
  MQ.new(connection)
@@ -83,7 +83,7 @@ module Nanite
83
83
  nanites.update_status(ping.identity, ping.status)
84
84
  reaper.update(ping.identity, agent_timeout + 1) { nanite_timed_out(ping.identity) }
85
85
  else
86
- packet = Advertise.new
86
+ packet = Advertise.new(nil, ping.identity)
87
87
  Nanite::Log.debug("SEND #{packet.to_s} to #{ping.identity}")
88
88
  amq.queue(ping.identity).publish(serializer.dump(packet))
89
89
  end
@@ -32,7 +32,7 @@ module Nanite
32
32
  callback = lambda do |r|
33
33
  if deliverable.kind_of?(Request)
34
34
  r = Result.new(deliverable.token, deliverable.reply_to, r, identity)
35
- Nanite::Log.info("SEND #{r.to_s([])}")
35
+ Nanite::Log.debug("SEND #{r.to_s([])}")
36
36
  amq.queue(deliverable.reply_to, :no_declare => options[:secure]).publish(serializer.dump(r))
37
37
  end
38
38
  r # For unit tests
@@ -350,9 +350,11 @@ module Nanite
350
350
  # when worker initially comes online to advertise
351
351
  # it's services
352
352
  class Advertise < Packet
353
-
354
- def initialize(size=nil)
353
+ attr_accessor :target
354
+
355
+ def initialize(size = nil, target = nil)
355
356
  @size = size
357
+ @target = target
356
358
  end
357
359
 
358
360
  def self.json_create(o)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nanite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1.13
4
+ version: 0.4.1.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ezra Zygmuntowicz
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-18 00:00:00 -08:00
12
+ date: 2010-02-08 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency