mimi-messaging-sqs_sns 0.5.0 → 0.6.1

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: 297b98675dafdc02dc9cbc9256339b3ecb696875
4
- data.tar.gz: db1e2efc5ac9f8b98b1de5fb5dff0c76ee21930c
2
+ SHA256:
3
+ metadata.gz: 1f7bfa555dbbe8a3d917d0133811c6f2af643016e5864628a8ae7ae79ec2a9fc
4
+ data.tar.gz: adc4769159cb678ca05e69c0d5b174b2d9a87064da8fcddf16916596ab14889e
5
5
  SHA512:
6
- metadata.gz: c9d87b2c28ed31a1836070e09adc8732d3becc46364b3d04836e031bb9ae424e02aad22519a1632a1c205900a10a8ba7e2650c1e80b9947b40fa8dea5cd95331
7
- data.tar.gz: 0d64bb39d6858fddb0645561180695fc9c6bb4ae44cc2f79027e36f9bab4bc4ff5efa69814da79a3046a0ead1412897ec00c0a9902f9d0b8a85c08f124029ee8
6
+ metadata.gz: 377f9dc7b50c0c3c4edd77afec14e2473fdebbfd4751a18d358c27b9c4281e3af2566f5f70c68fb228a75316d985a2f8f4cab4c74b5d233335e2986875fa88b0
7
+ data.tar.gz: becd20ef9d41f474ee072a8af75b8b885e40f47b8c34ddca61269cd413fb88368d4715808e4ca8a507b2c56e41b6db0aaf1381c0c9e1715dc4397aa4dcf1888b
data/TODO.md ADDED
@@ -0,0 +1,9 @@
1
+ # TODO
2
+
3
+ List of missing features planned for future releases.
4
+
5
+ [X] Log error and recover if the reply cannot be sent
6
+ [ ] Threadsafe TimeoutQueue
7
+ [ ] Multithreaded consumers
8
+ [ ] Subscribe to topic without a queue (Temporary queues)
9
+
@@ -4,8 +4,8 @@ require "mimi/messaging/sqs_sns"
4
4
 
5
5
  COUNT = 10
6
6
  AWS_REGION = "eu-west-1"
7
- AWS_SQS_ENDPOINT_URL = "http://localstack:4576"
8
- AWS_SNS_ENDPOINT_URL = "http://localstack:4575"
7
+ AWS_SQS_ENDPOINT_URL = "http://localstack:4566"
8
+ AWS_SNS_ENDPOINT_URL = "http://localstack:4566"
9
9
  AWS_ACCESS_KEY_ID = "foo"
10
10
  AWS_SECRET_ACCESS_KEY = "bar"
11
11
 
@@ -3,8 +3,8 @@
3
3
  require "mimi/messaging/sqs_sns"
4
4
 
5
5
  AWS_REGION = "eu-west-1"
6
- AWS_SQS_ENDPOINT_URL = "http://localstack:4576"
7
- AWS_SNS_ENDPOINT_URL = "http://localstack:4575"
6
+ AWS_SQS_ENDPOINT_URL = "http://localstack:4566"
7
+ AWS_SNS_ENDPOINT_URL = "http://localstack:4566"
8
8
  AWS_ACCESS_KEY_ID = "foo"
9
9
  AWS_SECRET_ACCESS_KEY = "bar"
10
10
 
@@ -22,7 +22,7 @@ end # class Processor
22
22
 
23
23
 
24
24
  logger = Logger.new(STDOUT)
25
- logger.level = Logger::INFO
25
+ logger.level = Logger::DEBUG
26
26
  Mimi::Messaging.use(logger: logger, serializer: Mimi::Messaging::JsonSerializer)
27
27
  Mimi::Messaging.configure(
28
28
  mq_adapter: "sqs_sns",
@@ -190,7 +190,7 @@ module Mimi
190
190
  response,
191
191
  __request_id: message.headers[:__request_id]
192
192
  )
193
- deliver_message_queue(reply_to, response_message)
193
+ deliver_query_respone(reply_to, response_message)
194
194
  else
195
195
  processor.call_command(method_name, message, {})
196
196
  end
@@ -327,6 +327,23 @@ module Mimi
327
327
  raise Mimi::Messaging::ConnectionError, "Failed to deliver message to '#{queue_url}': #{e}"
328
328
  end
329
329
 
330
+ # Delivers a message as a response to a QUERY
331
+ #
332
+ # Responses are allowed to fail. There can be a number of reasons
333
+ # why responses fail: reply queue does not exist (anymore?),
334
+ # response message is too big. In any case the error is reported,
335
+ # but the QUERY message is acknowledged as a successfully processed.
336
+ #
337
+ # @param queue_url [String]
338
+ # @param message [Mimi::Messaging::Message]
339
+ #
340
+ def deliver_query_respone(queue_url, message)
341
+ deliver_message_queue(queue_url, message)
342
+ rescue Mimi::Messaging::ConnectionError => e
343
+ Mimi::Messaging.logger&.warn("Failed to deliver QRY response: #{e}")
344
+ # NOTE: error is recovered
345
+ end
346
+
330
347
  # Returns URL of a queue with a given name.
331
348
  #
332
349
  # If the queue with given name does not exist, returns nil
@@ -3,7 +3,7 @@
3
3
  module Mimi
4
4
  module Messaging
5
5
  module SQS_SNS
6
- VERSION = "0.5.0"
6
+ VERSION = "0.6.1"
7
7
  end
8
8
  end
9
9
  end
@@ -39,6 +39,6 @@ Gem::Specification.new do |spec|
39
39
 
40
40
  spec.add_development_dependency "bundler", "~> 2.0"
41
41
  spec.add_development_dependency "pry", "~> 0.12"
42
- spec.add_development_dependency "rake", "~> 10.0"
42
+ spec.add_development_dependency "rake", "~> 12.0", ">= 12.3.3"
43
43
  spec.add_development_dependency "rspec", "~> 3.0"
44
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mimi-messaging-sqs_sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Kukushkin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-17 00:00:00.000000000 Z
11
+ date: 2020-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mimi-messaging
@@ -86,14 +86,20 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '12.0'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 12.3.3
90
93
  type: :development
91
94
  prerelease: false
92
95
  version_requirements: !ruby/object:Gem::Requirement
93
96
  requirements:
94
97
  - - "~>"
95
98
  - !ruby/object:Gem::Version
96
- version: '10.0'
99
+ version: '12.0'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 12.3.3
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: rspec
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -123,6 +129,7 @@ files:
123
129
  - LICENSE.txt
124
130
  - README.md
125
131
  - Rakefile
132
+ - TODO.md
126
133
  - bin/console
127
134
  - bin/setup
128
135
  - examples/event.rb
@@ -158,8 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
165
  - !ruby/object:Gem::Version
159
166
  version: '0'
160
167
  requirements: []
161
- rubyforge_project:
162
- rubygems_version: 2.6.14.4
168
+ rubygems_version: 3.0.3
163
169
  signing_key:
164
170
  specification_version: 4
165
171
  summary: AWS SQS/SNS adapter for mimi-messaging