Наличие 5 подписчиков на одно событие представляется целесообразным только в том случае, если все 5 действий независимы, в том смысле, что сбой любого из них не влияет на остальные.
Если неудача одного, A, влияет на другой, B, то отложите выполнение B до тех пор, пока не станет известен успех A. Итак, теперь вместо 5 подписчиков на одно событие: 4 подписчика на это событие, и A генерирует новое событие, на которое B подписывается вместо исходного события. Если A терпит неудачу, то B не получает событие.
В противном случае, если сбои цикличны, но подписчики могут допустить временное несоответствие (например, все, что нужно сделать, это восстановить ресурсы, такие как резервирование), может быть сгенерировано событие отмены или ошибки.
И все же, если мы не можем мириться с временными несоответствиями, а также если существует цикличность сбоев, влияющих на других, тогда необходимо будет настроить своего рода возможность фиксации/отката, где каждый подписчик предварительно выполняет свою операцию и сообщает по событию, может ли он добиться успеха/ терпит неудачу, и какой-то другой обработчик прослушивает либо полный успех, либо частичный отказ, и информирует об этом других для фиксации или отката. (Если сбой в самом процессе фиксации возможен даже после сообщения об успехе, то мы на 2-фазной фиксации территории.)
Вероятно, было бы лучше, если бы избежать последнего.