eventq_aws 0.3.4 → 0.4.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7039aff7eed4a4842ed95ada249d8cc616b3efa5
|
4
|
+
data.tar.gz: 4b9bb9168911dc4ce3a21490a332181299101de5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4607ac871cfac8658cbb263cfbf3a943fc680cb0d87e4eb145a938195105f13dd285d548fc56a2844fa93be1e4fc5510ea3b638339d8840d1966de8568ab48a
|
7
|
+
data.tar.gz: 55d5ba87b7bc20acb29dc408cd0c3d2be134186750d66dc392ab99aa7a57177ecbef5debb023a92578d39a7e9940e5174ed720be4f09fed2f8a702aea64b5874
|
@@ -42,6 +42,14 @@ module EventQ
|
|
42
42
|
return response.topic_arn
|
43
43
|
end
|
44
44
|
|
45
|
+
def get_queue_url(queue)
|
46
|
+
response= @sqs.get_queue_url({
|
47
|
+
queue_name: aws_safe_name(queue.name),
|
48
|
+
queue_owner_aws_account_id: @aws_account,
|
49
|
+
})
|
50
|
+
return response.queue_url
|
51
|
+
end
|
52
|
+
|
45
53
|
def aws_safe_name(name)
|
46
54
|
name.gsub(':', '')
|
47
55
|
end
|
@@ -15,6 +15,15 @@ module EventQ
|
|
15
15
|
|
16
16
|
def get_queue(queue)
|
17
17
|
|
18
|
+
if queue_exists?(queue)
|
19
|
+
update_queue(queue)
|
20
|
+
else
|
21
|
+
create_queue(queue)
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
def create_queue(queue)
|
18
27
|
response = @client.sqs.create_queue({
|
19
28
|
queue_name: queue.name,
|
20
29
|
attributes: {
|
@@ -23,7 +32,6 @@ module EventQ
|
|
23
32
|
})
|
24
33
|
|
25
34
|
return response.queue_url
|
26
|
-
|
27
35
|
end
|
28
36
|
|
29
37
|
def drop_queue(queue)
|
@@ -43,6 +51,21 @@ module EventQ
|
|
43
51
|
return true
|
44
52
|
end
|
45
53
|
|
54
|
+
def queue_exists?(queue)
|
55
|
+
return @client.sqs.list_queues({ queue_name_prefix: queue.name }).queue_urls.length > 0
|
56
|
+
end
|
57
|
+
|
58
|
+
def update_queue(queue)
|
59
|
+
url = @client.get_queue_url(queue)
|
60
|
+
@client.sqs.set_queue_attributes({
|
61
|
+
queue_url: url, # required
|
62
|
+
attributes: {
|
63
|
+
'VisibilityTimeout' => (queue.retry_delay / 1000).to_s
|
64
|
+
}
|
65
|
+
})
|
66
|
+
return url
|
67
|
+
end
|
68
|
+
|
46
69
|
end
|
47
70
|
end
|
48
71
|
end
|
@@ -149,6 +149,12 @@ module EventQ
|
|
149
149
|
if !queue.allow_retry || retry_attempts >= queue.max_retry_attempts
|
150
150
|
#remove the message from the queue so that it does not get retried again
|
151
151
|
client.sqs.delete_message({ queue_url: q, receipt_handle: msg.receipt_handle })
|
152
|
+
|
153
|
+
if retry_attempts >= queue.max_retry_attempts && @retry_exceeded_block != nil
|
154
|
+
EventQ.logger.debug '[EVENTQ_AWS::QUEUE_WORKER] - Executing retry exceeded block.'
|
155
|
+
@retry_exceeded_block.call(message)
|
156
|
+
end
|
157
|
+
|
152
158
|
end
|
153
159
|
end
|
154
160
|
|
data/lib/eventq_aws/version.rb
CHANGED
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: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- vaughanbrittonsage
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|