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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b75d900f4ede2b0dbc787641f532cfcbe07619435eaf3a1673b163d8f87658b
4
- data.tar.gz: 7295f58824d037c799c6aa3487b650fe3030b50acd24fe858878dfbafa8c3cba
3
+ metadata.gz: 9bc8c468f31f42f19d0eee98167bbcee1b231cf58b4bcc34cd7b8574ce116289
4
+ data.tar.gz: 6d55d52c5f45d43421d5590a28a358d597e2dc633cdd133342308217485b6340
5
5
  SHA512:
6
- metadata.gz: 5788fd8947c2d9d3f6e7dc9c7da0bd9fe072c9682fb13a220b12977e4c53e3ec9b373917f96a7ee415488b3081c3dd939afedd56a9ec98f324e0e31919a48106
7
- data.tar.gz: a8223affe27e1cf99bf2db07bf8672b49ecece81e410b40f3727366813ba6d39e18ae828052b6c9cf68693354af2eb382a3566338fb4312ceb78008c2a993b4b
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 = @psub.fetch(@batch_size, timeout: 1)
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
 
@@ -4,5 +4,5 @@
4
4
  #
5
5
  # Version constant for the gem.
6
6
  module JetstreamBridge
7
- VERSION = '5.0.1'
7
+ VERSION = '5.0.2'
8
8
  end
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.1
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-27 00:00:00.000000000 Z
11
+ date: 2026-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord