sevak 0.5.2 → 0.5.3

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
- SHA1:
3
- metadata.gz: a5e8f35cf1b3097bb259f85e1ca586ee1e66ea87
4
- data.tar.gz: 7cf22996f04bb9952ad9d40b2f7cba0ed586ed34
2
+ SHA256:
3
+ metadata.gz: 4078fc7eea4b16bb15ab4d020e61e36e3e23a03bbddb53ee29af349abaaffffe
4
+ data.tar.gz: 423085c5bd3134fb2a335587ae2b2e37b81304e7d22031548474bc057aa23476
5
5
  SHA512:
6
- metadata.gz: 9992953e0418d33dabce5048f43e3181ae585df164a31ca823515c7cebdea02dd982315e6fe80e4a5dd8a7c8a27c6a78f52e731bbb398c4127c4a71e2fd6b13a
7
- data.tar.gz: d133091616122c12d31e3581716cdac664ff7dbce1add4ed78d8afa11c26bac010f94298d2735df4e8813da174fed956abb2f285907358ac8a44bf57e749121c
6
+ metadata.gz: c2141553ea1faf65d1ef798c4f6d4dd2f842fb363840dffe656acbb5e87208f34f7c04c0a1aeca1057eeebcb68626a40bf76dab1c238ffba236c4c02591536a8
7
+ data.tar.gz: afdbf2573999e62ed5504df29fa423f36a2ee5792d007a88eb070166d396232883600b8e9a0a211361e86884ffd0e783131da67fdc3a9d0c384068b4fe778094
@@ -1 +1 @@
1
- 2.4.0
1
+ 2.4.6
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sevak (0.5.2)
4
+ sevak (0.5.3)
5
5
  bunny (~> 2.7)
6
6
 
7
7
  GEM
@@ -66,4 +66,4 @@ DEPENDENCIES
66
66
  sevak!
67
67
 
68
68
  BUNDLED WITH
69
- 1.16.1
69
+ 1.17.3
@@ -15,11 +15,15 @@ module Sevak
15
15
  rescue Bunny::TCPConnectionFailedForAllHosts => e
16
16
  attempt += 1
17
17
  sleep(0.001)
18
- retry if attempt < 10
18
+ attempt < 10 ? retry : raise
19
19
  rescue Bunny::TCPConnectionFailed => e
20
20
  attempt += 1
21
21
  sleep(0.001)
22
- retry if attempt < 10
22
+ attempt < 10 ? retry : raise
23
+ rescue Bunny::ConnectionClosedError => e
24
+ attempt += 1
25
+ sleep(0.001)
26
+ attempt < 10 ? retry : raise
23
27
  end
24
28
  end
25
29
 
@@ -6,11 +6,11 @@ module Sevak
6
6
  include Singleton
7
7
 
8
8
  def self.publish(queue_name, message)
9
- instance.queue(queue_name).publish(message.to_json)
9
+ publish_message(queue_name, message)
10
10
  end
11
11
 
12
12
  def self.delayed_publish(queue_name, message, delay = 0)
13
- instance.publish_exchange(queue_name, message, delay.to_i)
13
+ publish_message(queue_name, message, delay.to_i)
14
14
  end
15
15
 
16
16
  def channel
@@ -29,5 +29,22 @@ module Sevak
29
29
  queue(queue_name).bind(exchange(queue_name))
30
30
  exchange(queue_name).publish(message.to_json, headers: { 'x-delay' => delay })
31
31
  end
32
+
33
+ private
34
+
35
+ def self.publish_message(queue_name, message, delay = nil)
36
+ attempt = 0
37
+ begin
38
+ if delay.nil?
39
+ instance.queue(queue_name).publish(message.to_json)
40
+ else
41
+ instance.publish_exchange(queue_name, message, delay.to_i)
42
+ end
43
+ rescue Bunny::ConnectionClosedError => e
44
+ attempt += 1
45
+ sleep(0.001)
46
+ attempt < 2 ? retry : raise
47
+ end
48
+ end
32
49
  end
33
50
  end
@@ -1,3 +1,3 @@
1
1
  module Sevak
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sevak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deepak Kumar
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-02 00:00:00.000000000 Z
11
+ date: 2019-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bunny
@@ -70,8 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  - !ruby/object:Gem::Version
71
71
  version: '0'
72
72
  requirements: []
73
- rubyforge_project:
74
- rubygems_version: 2.6.10
73
+ rubygems_version: 3.0.4
75
74
  signing_key:
76
75
  specification_version: 4
77
76
  summary: Create rabbitmq consumers