Насколько я знаю, вы не можете знать, имеет ли выполнение обработчика завершение sh должным образом, ожидая в контроллере (как в вашем случае) прямым путем, но, возможно, вы можете сделать work arround.
Как вы знаете, служебная шина имеет очередь или topi c, где слушатель может получать отправленные сообщения. Но также у него есть DeadLetter, где неправильные сообщения возвращаются в очередь, если возникает какое-либо необработанное исключение, любое сообщение имеет внутренний идентификатор или также ваше настраиваемое тело имеет идентификатор, который вы можете использовать для его отслеживания и поиска в обеих очередях или темах. . Возможно, это может решить вашу проблему, но это совсем не эффективность, поскольку это не желаемая функциональность такого рода услуг, потому что, на самом деле, его функция - сообщить вам, что ваше сообщение поставлено в очередь, а затем вам следует следить за своим исполнением и обрабатывать сообщение в своей службе.