frenzy_bunnies 0.0.3 → 0.0.4

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.
@@ -1,3 +1,3 @@
1
1
  module FrenzyBunnies
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -25,6 +25,7 @@ module FrenzyBunnies::Worker
25
25
 
26
26
  @queue_opts[:prefetch] ||= 10
27
27
  @queue_opts[:durable] ||= false
28
+ @queue_opts[:timeout_job_after] ||=5
28
29
 
29
30
  if @queue_opts[:threads]
30
31
  @thread_pool = Executors.new_fixed_thread_pool(@queue_opts[:threads])
@@ -40,12 +41,17 @@ module FrenzyBunnies::Worker
40
41
  @s.each(:blocking => false, :executor => @thread_pool) do |h, msg|
41
42
  wkr = new
42
43
  begin
43
- if(wkr.work(msg))
44
- h.ack
45
- else
46
- h.reject
47
- error "Cannot process message <#{msg.inspect}>"
44
+ Timeout::timeout(@queue_opts[:timeout_job_after]) do
45
+ if(wkr.work(msg))
46
+ h.ack
47
+ else
48
+ h.reject
49
+ error "Cannot process message <#{msg.inspect}>"
50
+ end
48
51
  end
52
+ rescue Timeout::Error
53
+ h.reject
54
+ error "TIMEOUT #{@queue_opts[:timeout_job_after]} seconds have elapsed: #{$!}"
49
55
  rescue
50
56
  h.reject
51
57
  error "ERROR #{$!}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: frenzy_bunnies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-26 00:00:00.000000000 Z
12
+ date: 2012-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hot_bunnies
@@ -92,3 +92,4 @@ signing_key:
92
92
  specification_version: 3
93
93
  summary: RabbitMQ JRuby based workers on top of hot_bunnies
94
94
  test_files: []
95
+ has_rdoc: