mimi-messaging-sqs_sns 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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