eventq_aws 1.17.0 → 1.18.0

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: 060f06ea588d381244367abedaaefa6fa57c6878
4
- data.tar.gz: 963b83f40dc3d8a00a4e05804912cf8210e23990
3
+ metadata.gz: b3a43fdee0194aaa82aeb3374ca25f35fa4ed2ef
4
+ data.tar.gz: ef028b9511372504e49dadc8dab3e8eb430a91b9
5
5
  SHA512:
6
- metadata.gz: 62ef5a2468dddb4685ac4e8f486603619a4d86d56ab2cc6babe7255fb6224e439e2202e7358169233f00df0aab867f5525c940f128802d75758c32c71a1b03d9
7
- data.tar.gz: 958c3cad03b6408dabd2421e224f8b2236a8a0e26e6ede2281e09fb3d6de6b92f8668ec2982a1d060af49ad1f199cb19e231b4c098bbeae8500b5fb1b7269c30
6
+ metadata.gz: 15a09b1d55012d00ad57c9d42dc0c702934529dee92064d641e4600047fff9ab9b89a5ae353084174300565d464435aa7dfc46c2b99366e86d8b18cf6b323e2f
7
+ data.tar.gz: 7bff2fcb71597581c660692090bacab01a2060c445ffacba32e5354975fb5a9d3d2fc1de41873934d84224813d061d49dee3bc075c77475b377a7df4bd255da7
@@ -26,24 +26,19 @@ module EventQ
26
26
  end
27
27
 
28
28
  def get_queue(queue)
29
-
30
- if queue_exists?(queue)
31
- update_queue(queue)
32
- else
33
- create_queue(queue)
29
+ if queue.dlq
30
+ queue_exists?(queue.dlq) ? update_queue(queue.dlq) : create_queue(queue.dlq)
34
31
  end
35
32
 
33
+ queue_exists?(queue) ? update_queue(queue) : create_queue(queue)
36
34
  end
37
35
 
38
36
  def create_queue(queue)
39
37
  _queue_name = EventQ.create_queue_name(queue.name)
40
38
  response = @client.sqs.create_queue({
41
- queue_name: _queue_name,
42
- attributes: {
43
- VISIBILITY_TIMEOUT => @visibility_timeout.to_s,
44
- MESSAGE_RETENTION_PERIOD => @message_retention_period.to_s
45
- }
46
- })
39
+ queue_name: _queue_name,
40
+ attributes: queue_attributes(queue)
41
+ })
47
42
 
48
43
  return response.queue_url
49
44
  end
@@ -84,15 +79,25 @@ module EventQ
84
79
  def update_queue(queue)
85
80
  url = @client.get_queue_url(queue)
86
81
  @client.sqs.set_queue_attributes({
87
- queue_url: url, # required
88
- attributes: {
89
- VISIBILITY_TIMEOUT => @visibility_timeout.to_s,
90
- MESSAGE_RETENTION_PERIOD => @message_retention_period.to_s
91
- }
92
- })
82
+ queue_url: url, # required
83
+ attributes: queue_attributes(queue)
84
+ })
93
85
  return url
94
86
  end
95
87
 
88
+ def queue_attributes(queue)
89
+ attributes = {
90
+ VISIBILITY_TIMEOUT => @visibility_timeout.to_s,
91
+ MESSAGE_RETENTION_PERIOD => @message_retention_period.to_s
92
+ }
93
+
94
+ if queue.dlq
95
+ dlq_arn = @client.get_queue_arn(queue.dlq)
96
+ attributes['RedrivePolicy'] = %Q({"maxReceiveCount":"#{queue.max_receive_count}","deadLetterTargetArn":"#{dlq_arn}"})
97
+ end
98
+
99
+ attributes
100
+ end
96
101
  end
97
102
  end
98
103
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module EventQ
4
4
  module Amazon
5
- VERSION = "1.17.0"
5
+ VERSION = "1.18.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventq_aws
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vaughanbrittonsage
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-31 00:00:00.000000000 Z
11
+ date: 2018-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.17'
89
+ version: '1.18'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.17'
96
+ version: '1.18'
97
97
  description: This is the aws implementation for EventQ
98
98
  email:
99
99
  - vaughan.britton@sage.com