jetstream_bridge 5.0.1 → 5.0.2
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 +4 -4
- data/lib/jetstream_bridge/consumer/consumer.rb +17 -1
- data/lib/jetstream_bridge/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9bc8c468f31f42f19d0eee98167bbcee1b231cf58b4bcc34cd7b8574ce116289
|
|
4
|
+
data.tar.gz: 6d55d52c5f45d43421d5590a28a358d597e2dc633cdd133342308217485b6340
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ce39eba350fda200a6187b4cae87cd5908094243db4888f3d25a9c7f8884f21bb90eb1b86a73f505f11d8b9586eecc3a428b856d7a4f6f66e019bf43e2785603
|
|
7
|
+
data.tar.gz: f6ede0fbd01a685120a35bed3ffe9b2ef8896ac513e7f4a298cf334c7ff3401cbbb11b8e2ba71e66e1711e1c89a2d92b78b0fc41a6c9843aadfece5b8e32da39
|
|
@@ -440,7 +440,11 @@ module JetstreamBridge
|
|
|
440
440
|
Logging.info('Draining in-flight messages...', tag: 'JetstreamBridge::Consumer')
|
|
441
441
|
# Process any pending messages with a short timeout
|
|
442
442
|
5.times do
|
|
443
|
-
msgs =
|
|
443
|
+
msgs = if JetstreamBridge.config.push_consumer?
|
|
444
|
+
drain_messages_push
|
|
445
|
+
else
|
|
446
|
+
@psub.fetch(@batch_size, timeout: 1)
|
|
447
|
+
end
|
|
444
448
|
break if msgs.nil? || msgs.empty?
|
|
445
449
|
|
|
446
450
|
msgs.each { |m| process_one(m) }
|
|
@@ -455,6 +459,18 @@ module JetstreamBridge
|
|
|
455
459
|
Logging.error("Drain failed: #{e.class} #{e.message}", tag: 'JetstreamBridge::Consumer')
|
|
456
460
|
end
|
|
457
461
|
|
|
462
|
+
def drain_messages_push
|
|
463
|
+
# For push consumers during drain, collect messages with a shorter timeout
|
|
464
|
+
messages = []
|
|
465
|
+
@batch_size.times do
|
|
466
|
+
msg = @psub.next_msg(timeout: 1)
|
|
467
|
+
messages << msg if msg
|
|
468
|
+
rescue NATS::Timeout, NATS::IO::Timeout
|
|
469
|
+
break
|
|
470
|
+
end
|
|
471
|
+
messages
|
|
472
|
+
end
|
|
473
|
+
|
|
458
474
|
def safe_nak_message(msg)
|
|
459
475
|
return unless msg.respond_to?(:nak)
|
|
460
476
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jetstream_bridge
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.0.
|
|
4
|
+
version: 5.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mike Attara
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-01-
|
|
11
|
+
date: 2026-01-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|