File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -66,6 +66,14 @@ def delayed_publisher
6666 @delayed_publisher ||= AdvancedSneakersActiveJob ::DelayedPublisher . new ( **config . publisher_config )
6767 end
6868
69+ def shutdown
70+ close_publisher ( @publisher )
71+ @publisher = nil
72+
73+ close_publisher ( @delayed_publisher )
74+ @delayed_publisher = nil
75+ end
76+
6977 # Based on ActiveSupport::Inflector#parameterize
7078 def consumer_name ( queue_name :)
7179 # replace accented chars with their ascii equivalents
@@ -87,5 +95,23 @@ def const_missing(name)
8795
8896 constants . include? ( name ) ? const_get ( name ) : super
8997 end
98+
99+ private
100+
101+ def close_publisher ( publisher )
102+ return unless publisher
103+
104+ begin
105+ publisher . close
106+ rescue StandardError => e
107+ Rails . logger &.error "Error closing publisher: #{ e . message } " if defined? ( Rails )
108+ end
109+ end
90110 end
91111end
112+
113+ # Register shutdown hook to ensure connections are closed properly during process exit
114+ at_exit do
115+ debugger
116+ AdvancedSneakersActiveJob . shutdown
117+ end
You can’t perform that action at this time.
0 commit comments