@@ -79,6 +79,7 @@ public function process(QueueMessage $message, Context $context): string|object
7979 return InteropProcessor::REJECT ;
8080 }
8181
82+ $ startTime = microtime (true ) * 1000 ;
8283 $ this ->dispatchEvent ('Processor.message.start ' , ['message ' => $ jobMessage ]);
8384
8485 try {
@@ -90,27 +91,39 @@ public function process(QueueMessage $message, Context $context): string|object
9091 $ this ->dispatchEvent ('Processor.message.exception ' , [
9192 'message ' => $ jobMessage ,
9293 'exception ' => $ e ,
94+ 'duration ' => (int )((microtime (true ) * 1000 ) - $ startTime ),
9395 ]);
9496
9597 return Result::requeue ('Exception occurred while processing message ' );
9698 }
9799
100+ $ duration = (int )((microtime (true ) * 1000 ) - $ startTime );
101+
98102 if ($ response === InteropProcessor::ACK ) {
99103 $ this ->logger ->debug ('Message processed successfully ' );
100- $ this ->dispatchEvent ('Processor.message.success ' , ['message ' => $ jobMessage ]);
104+ $ this ->dispatchEvent ('Processor.message.success ' , [
105+ 'message ' => $ jobMessage ,
106+ 'duration ' => $ duration ,
107+ ]);
101108
102109 return InteropProcessor::ACK ;
103110 }
104111
105112 if ($ response === InteropProcessor::REJECT ) {
106113 $ this ->logger ->debug ('Message processed with rejection ' );
107- $ this ->dispatchEvent ('Processor.message.reject ' , ['message ' => $ jobMessage ]);
114+ $ this ->dispatchEvent ('Processor.message.reject ' , [
115+ 'message ' => $ jobMessage ,
116+ 'duration ' => $ duration ,
117+ ]);
108118
109119 return InteropProcessor::REJECT ;
110120 }
111121
112122 $ this ->logger ->debug ('Message processed with failure, requeuing ' );
113- $ this ->dispatchEvent ('Processor.message.failure ' , ['message ' => $ jobMessage ]);
123+ $ this ->dispatchEvent ('Processor.message.failure ' , [
124+ 'message ' => $ jobMessage ,
125+ 'duration ' => $ duration ,
126+ ]);
114127
115128 return InteropProcessor::REQUEUE ;
116129 }
0 commit comments