refinery 0.9.4 → 0.9.5

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.9.4
1
+ 0.9.5
@@ -47,7 +47,12 @@ module Refinery #:nodoc:
47
47
  # * <tt>waiting_queue</tt>: The waiting queue that provides messages to be processed
48
48
  # * <tt>error_queue</tt>: The queue where errors are posted.
49
49
  # * <tt>done_queue</tt>: The queue for messages that have been processed.
50
- def initialize(server, name, waiting_queue, error_queue, done_queue)
50
+ # * <tt>settings</tt>: The settings hash from the config.
51
+ #
52
+ # The settings hash may contain the following options:
53
+ # * <tt>visibility</tt>: The time in seconds that the message is hidden
54
+ # in the queue.
55
+ def initialize(server, name, waiting_queue, error_queue, done_queue, settings={})
51
56
  Refinery::Server.logger.debug "Starting daemon"
52
57
 
53
58
  @server = server
@@ -57,10 +62,10 @@ module Refinery #:nodoc:
57
62
  @done_queue = done_queue
58
63
 
59
64
  @thread = Thread.new(self) do |daemon|
60
- logger.debug "Running daemon thread"
65
+ logger.debug "Running daemon thread: #{name} (settings: #{settings.inspect})"
61
66
  while(running?)
62
67
  begin
63
- while (message = waiting_queue.receive)
68
+ while (message = waiting_queue.receive(settings['visibility']))
64
69
  worker = load_worker_class(name).new(self)
65
70
  begin
66
71
  result, run_time = worker.run(decode_message(message.body))
@@ -71,7 +71,7 @@ module Refinery #:nodoc:
71
71
  done_queue = queue("#{queue_name}_done")
72
72
 
73
73
  1.upto(settings['workers']['initial']) do
74
- daemons << Refinery::Daemon.new(self, key, waiting_queue, error_queue, done_queue)
74
+ daemons << Refinery::Daemon.new(self, key, waiting_queue, error_queue, done_queue, settings)
75
75
  end
76
76
 
77
77
  logger.debug "Running #{daemons.length} daemons"
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{refinery}
5
- s.version = "0.9.4"
5
+ s.version = "0.9.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Anthony Eden"]
9
- s.date = %q{2009-06-29}
9
+ s.date = %q{2009-07-02}
10
10
  s.description = %q{Process data in a distributed fashion.}
11
11
  s.email = %q{anthonyeden@gmail.com}
12
12
  s.executables = ["epub", "monitor", "pubnow", "refinery"]
@@ -17,6 +17,10 @@ class DaemonTest < Test::Unit::TestCase
17
17
  daemon = Refinery::Daemon.new(@server, 'sample', @waiting_queue, @error_queue, @done_queue)
18
18
  assert_not_nil daemon.logger
19
19
  end
20
+ should "allow visibility setting" do
21
+ @waiting_queue.stubs(:receive).with({'visibility' => 600})
22
+ daemon = Refinery::Daemon.new(@server, 'sample', @waiting_queue, @error_queue, @done_queue, {'visibility' => 600})
23
+ end
20
24
  context "that is started" do
21
25
  setup do
22
26
  @daemon = Refinery::Daemon.new(@server, 'sample', @waiting_queue, @error_queue, @done_queue)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Eden
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-29 00:00:00 -04:00
12
+ date: 2009-07-02 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15