thrift-amqp 0.0.7 → 0.0.8

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: 0270649b7735d0880dd3695aafc62707714783ec
4
- data.tar.gz: d10f20d8552673ebfca25eeedd581c92068131cc
3
+ metadata.gz: d6318490f0715d728203b16fdfe5e5162b1a85e6
4
+ data.tar.gz: c005959eb015dd4811315b16426e5873eb9a8600
5
5
  SHA512:
6
- metadata.gz: d5207873985081cb001e4073df4e058bc821d85360027ddb226ea0bf81930144795ef60a33f6bd3f805a6dde57793531f33d5cca32f9c5ec8c6271e722d2687d
7
- data.tar.gz: cd9ec8a8359d4320e20927831db2d1ad60e3da803f0aeda05f45b70071385476f3f6f58d84325b9e019d5ea73115f31a75b1753409b705681727dfcc6e6c6d8f
6
+ metadata.gz: 12fa7d536eea5b4d99cdc7943cd2ef0ffd0ab2a80028cafff744fddf439550f21da6b0adfbdd67d95c2ce9bd577c412c05d6b5f1daf5ff2053800cc16218310a
7
+ data.tar.gz: 57f1341ddb6ec62720ab6ed3268cfd760737d88863cc4162579fe33a0b7017964dff46bf5e4494e81bc91325793be27e57447603fcf9e90456a5b9e9b03fc2c9
@@ -1,6 +1,7 @@
1
1
  require 'bunny'
2
2
  require 'thrift'
3
3
  require 'logger'
4
+ require 'timeout'
4
5
 
5
6
  LOGGER = Logger.new(STDOUT)
6
7
  LOGGER.level = Logger::INFO
@@ -17,6 +18,7 @@ module Thrift
17
18
  @routing_key = opts[:routing_key]
18
19
  @exchange_name = opts[:exchange_name]
19
20
  @prefetch = opts[:prefetch]
21
+ @timeout = opts[:timeout]
20
22
  end
21
23
 
22
24
  def handle(delivery_info, properties, payload)
@@ -38,8 +40,6 @@ module Thrift
38
40
  rescue => e
39
41
  LOGGER.error("Processor failure #{e}")
40
42
  end
41
-
42
- @channel.acknowledge(delivery_info.delivery_tag, false)
43
43
  end
44
44
 
45
45
  def serve
@@ -60,7 +60,22 @@ module Thrift
60
60
  manual_ack: true,
61
61
  block: true
62
62
  ) do |delivery_info, properties, payload|
63
- handle delivery_info, properties, payload
63
+ begin
64
+ if @timeout
65
+ begin
66
+ Timeout.timeout(@timeout) do
67
+ handle(delivery_info, properties, payload)
68
+ end
69
+ rescue Timeout::TimeoutError
70
+ LOGGER.info("Timeout raised")
71
+ end
72
+ else
73
+ handle delivery_info, properties, payload
74
+ end
75
+ rescue => e
76
+ LOGGER.info("Error happened: #{e}")
77
+ end
78
+ @channel.acknowledge(delivery_info.delivery_tag, false)
64
79
  end
65
80
  end
66
81
  rescue Bunny::TCPConnectionFailedForAllHosts, Bunny::ConnectionClosedError
@@ -1,5 +1,5 @@
1
1
  module Thrift
2
2
  module AMQP
3
- VERSION = "0.0.7"
3
+ VERSION = "0.0.8"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrift-amqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexis Montagne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-14 00:00:00.000000000 Z
11
+ date: 2015-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler