@@ -9,6 +9,10 @@ def terminating?
99 @status == Status ::TERMINATING
1010 end
1111
12+ def publishing?
13+ @status == Status ::PUBLISHING
14+ end
15+
1216 # Parses command line arguments to configure the publisher.
1317 # @param args [Array<String>] The arguments passed via the command line.
1418 # @return [Hash] The parsed options.
@@ -549,28 +553,33 @@ def create_publisher_thread(id:, index:,
549553 # Thread.current.report_on_exception = true
550554
551555 while !terminating?
552- begin
553- published_message = Message . publish ( logger : logger ) do |message |
554- block . call ( { id : id } , message )
555- end
556- rescue StandardError => error
557- logger . error (
558- "#{ error . class } : #{ error . message } \n " \
559- "#{ error . backtrace . join ( "\n " ) } " )
560-
561- Publisher . sleep (
562- poll_interval ,
563- tick_interval : tick_interval ,
564- process : process ,
565- kernel : kernel )
566- else
567- if published_message . nil?
556+ if publishing?
557+ begin
558+ published_message = Message . publish ( logger : logger ) do |message |
559+ block . call ( { id : id } , message )
560+ end
561+ rescue StandardError => error
562+ logger . error (
563+ "#{ error . class } : #{ error . message } \n " \
564+ "#{ error . backtrace . join ( "\n " ) } " )
565+
568566 Publisher . sleep (
569567 poll_interval ,
570568 tick_interval : tick_interval ,
571569 process : process ,
572570 kernel : kernel )
571+ else
572+ if published_message . nil?
573+ Publisher . sleep (
574+ poll_interval ,
575+ tick_interval : tick_interval ,
576+ process : process ,
577+ kernel : kernel )
578+ end
573579 end
580+ else
581+ Publisher . sleep ( tick_interval , tick_interval : tick_interval ,
582+ process : process , kernel : kernel )
574583 end
575584 end
576585 rescue ::Exception => error
0 commit comments