hanami-events-cloud_pubsub 3.1.4 → 3.2.0
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
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ce3a1788cccaf44d604f113f700ffe69b2e198d068b6dce7ed25f85bc1c2f72a
|
|
4
|
+
data.tar.gz: 0cbbe24fb26de4fc989dcfc53f2cb73fccaacc58408deaae623d1d6d7e249ba2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9789652777e1a651533eab9c0f68a418815ce7694b2888e4d6e01ffb0d2b8f5099cea2dbd9903fc6abb8c82b547f7107fcc3ce8356396414baa443335b2bc021
|
|
7
|
+
data.tar.gz: 585fc1954bc4431f5770f1eb7fb8d659c22f28726e69ecc60bdd4751e9a627de1e2f5321e142a04222a46c03d18d08aa5a6304102d8dd976b48ba0fb09aef770
|
|
@@ -54,7 +54,7 @@ module Hanami
|
|
|
54
54
|
# @param id [String] A unique identifier for the subscriber
|
|
55
55
|
# @param subscriber_opts [String] Additional options for the subscriber
|
|
56
56
|
# @param block [Block] to execute when event is broadcasted
|
|
57
|
-
def subscribe(name, id:, **subscriber_opts, &block)
|
|
57
|
+
def subscribe(name, id:, auto_ack: true, **subscriber_opts, &block)
|
|
58
58
|
event_name = namespaced(name)
|
|
59
59
|
namespaced_id = namespaced(id)
|
|
60
60
|
|
|
@@ -64,7 +64,7 @@ module Hanami
|
|
|
64
64
|
@subscribers << sub
|
|
65
65
|
topic = topic_for event_name
|
|
66
66
|
|
|
67
|
-
register_listener(event_name, topic, namespaced_id, subscriber_opts)
|
|
67
|
+
register_listener(event_name, topic, namespaced_id, auto_ack, subscriber_opts)
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def flush_messages
|
|
@@ -76,7 +76,7 @@ module Hanami
|
|
|
76
76
|
|
|
77
77
|
attr_reader :logger
|
|
78
78
|
|
|
79
|
-
def register_listener(event_name, topic, subscriber_id, subscriber_opts)
|
|
79
|
+
def register_listener(event_name, topic, subscriber_id, auto_ack, subscriber_opts)
|
|
80
80
|
listener = ::Hanami::Events::CloudPubsub::Listener.new(
|
|
81
81
|
subscriber_id: subscriber_id,
|
|
82
82
|
event_name: event_name,
|
|
@@ -84,7 +84,8 @@ module Hanami
|
|
|
84
84
|
logger: logger,
|
|
85
85
|
topic: topic,
|
|
86
86
|
subscriber_opts: subscriber_opts,
|
|
87
|
-
dead_letter_topic: dead_letter_topic
|
|
87
|
+
dead_letter_topic: dead_letter_topic,
|
|
88
|
+
auto_ack: auto_ack
|
|
88
89
|
)
|
|
89
90
|
|
|
90
91
|
@listeners << listener
|
|
@@ -26,6 +26,7 @@ module Hanami
|
|
|
26
26
|
subscriber_id:,
|
|
27
27
|
subscriber_opts: {},
|
|
28
28
|
middleware: CloudPubsub.config.middleware,
|
|
29
|
+
auto_ack: true,
|
|
29
30
|
dead_letter_topic: nil)
|
|
30
31
|
@topic = topic
|
|
31
32
|
@logger = logger
|
|
@@ -35,6 +36,7 @@ module Hanami
|
|
|
35
36
|
@input_subscriber_opts = subscriber_opts
|
|
36
37
|
@middleware = middleware
|
|
37
38
|
@dead_letter_topic = dead_letter_topic
|
|
39
|
+
@auto_ack = auto_ack
|
|
38
40
|
end
|
|
39
41
|
# rubocop:enable Metrics/ParameterLists
|
|
40
42
|
|
|
@@ -86,7 +88,7 @@ module Hanami
|
|
|
86
88
|
|
|
87
89
|
def run_handler(message)
|
|
88
90
|
middleware.invoke(message) { handler.call(message) }
|
|
89
|
-
message.ack!
|
|
91
|
+
message.ack! if @auto_ack
|
|
90
92
|
rescue StandardError => e
|
|
91
93
|
run_error_handlers(e, message.message_id.to_s)
|
|
92
94
|
message.nack! if CloudPubsub.config.auto_retry.enabled
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hanami-events-cloud_pubsub
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ian Ker-Seymer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-04-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: dry-configurable
|