modern_times 0.2.8 → 0.2.9

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.8
1
+ 0.2.9
@@ -15,10 +15,10 @@ end
15
15
 
16
16
  config = YAML.load(ERB.new(File.read(File.join(File.dirname(__FILE__), '..', 'jms.yml'))).result(binding))
17
17
  ModernTimes::JMS::Connection.init(config)
18
- publisher = ModernTimes::JMS::Publisher.new(:queue_name => 'Foo', :marshal => :string)
18
+ publisher = ModernTimes::JMS::Publisher.new(:queue_name => 'Foo', :marshal => :string, :time_to_live => 20000)
19
19
  consumer = ModernTimes::JMS::Consumer.new(:queue_name => 'Foo', :marshal => :string)
20
20
 
21
21
  publisher.publish(ARGV[0], :jms_correlation_id => ARGV[1])
22
- msg = consumer.receive(:jms_correlation_id => ARGV[1], :timeout => 30000)
22
+ #msg = consumer.receive(:jms_correlation_id => ARGV[1], :timeout => 30000)
23
23
  #msg = consumer.receive(:timeout => 1000)
24
- puts "msg=#{msg}"
24
+ #puts "msg=#{msg}"
@@ -37,6 +37,7 @@ module ModernTimes
37
37
  options[:selector] = "JMSCorrelationID = '#{correlation_id}'" if correlation_id && !options[:selector]
38
38
  timeout = options.delete(:timeout) || 0
39
39
  obj = nil
40
+ ModernTimes.logger.debug {"Perform receive for #{options.inspect} timeout=#{timeout}"}
40
41
 
41
42
  Connection.session_pool.consumer(options) do |session, consumer|
42
43
  message = consumer.get(:timeout => timeout)
@@ -32,12 +32,15 @@ module ModernTimes
32
32
  #@persistent = options[:persistent] ? ::JMS::DeliveryMode::PERSISTENT : ::JMS::DeliveryMode::NON_PERSISTENT
33
33
  @persistent = options[:persistent] ? :persistent : :non_persistent
34
34
  @marshaler = ModernTimes::MarshalStrategy.find(options[:marshal])
35
+ @time_to_live = options[:time_to_live]
35
36
  end
36
37
 
37
38
  # Publish the given object to the address.
38
39
  def publish(object, props={})
40
+ ModernTimes.logger.debug {"#{self}: Publishing #{object} with #{props.inspect}"}
39
41
  message = nil
40
42
  Connection.session_pool.producer(@real_producer_options) do |session, producer|
43
+ producer.time_to_live = @time_to_live if @time_to_live
41
44
  message = ModernTimes::JMS.create_message(session, @marshaler, object)
42
45
  message.jms_delivery_mode_sym = @persistent
43
46
  props.each do |key, value|
@@ -1,3 +1,5 @@
1
+ require 'benchmark'
2
+
1
3
  module ModernTimes
2
4
  module JMS
3
5
 
@@ -108,9 +110,12 @@ module ModernTimes
108
110
  ModernTimes.logger.debug "#{self}: Starting receive loop"
109
111
  @status = nil
110
112
  while msg = @consumer.receive
111
- @message_count += 1
112
- on_message(msg)
113
- msg.acknowledge
113
+ sec = Benchmark.realtime do
114
+ @message_count += 1
115
+ on_message(msg)
116
+ msg.acknowledge
117
+ end
118
+ ModernTimes.logger.info {"#{self}::perform (#{('%.1f' % (sec*1000))}ms)"}
114
119
  end
115
120
  @status = 'Exited'
116
121
  ModernTimes.logger.info "#{self}: Exiting"
@@ -139,9 +144,9 @@ module ModernTimes
139
144
  def on_message(message)
140
145
  @message = message
141
146
  object = @message_marshaler.unmarshal(message.data)
142
- ModernTimes.logger.debug "#{self}: Received Object: #{object}" if ModernTimes.logger.debug?
147
+ ModernTimes.logger.debug {"#{self}: Received Object: #{object}"}
143
148
  perform(object)
144
- ModernTimes.logger.debug "#{self}: Finished processing message" if ModernTimes.logger.debug?
149
+ ModernTimes.logger.debug {"#{self}: Finished processing message"}
145
150
  ModernTimes.logger.flush if ModernTimes.logger.respond_to?(:flush)
146
151
  rescue Exception => e
147
152
  ModernTimes.logger.error "#{self}: Messaging Exception: #{e.inspect}\n#{e.backtrace.inspect}"
@@ -5,7 +5,7 @@ module ModernTimes
5
5
  module Railsable
6
6
  def init_rails
7
7
  # Allow user to use JMS w/o modifying jms.yml which could be checked in and hose other users
8
- env = ENV['MODERN_TIMES_JMS_ENV'] || Rails.env
8
+ env = ENV['MODERN_TIMES_ENV'] || Rails.env
9
9
  if @config = YAML.load(ERB.new(File.read(File.join(Rails.root, "config", "jms.yml"))).result(binding))[env]
10
10
  ModernTimes.logger.info "Messaging Enabled"
11
11
  ModernTimes::JMS::Connection.init(@config)
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: modern_times
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.8
5
+ version: 0.2.9
6
6
  platform: ruby
7
7
  authors:
8
8
  - Brad Pardee
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-05-03 00:00:00 -04:00
14
+ date: 2011-05-04 00:00:00 -04:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency