我正在使用 Symfony 4.2 并且有一条消息要通过 messenger 组件发送,这是一条应该通过几个渠道(例如 SMS 和电子邮件)发送的通知。我想知道如何使这些发件人独立(例如第一个通道失败并抛出异常) - 如何尝试通过第二个发件人独立发送?目前,当链中的一个发送者失败时,其余的无法尝试传递通知。
在发送者级别捕获异常似乎不是一个好的解决方案,因为返回信封会导致它将被标记为发送不正确的内容。
我已经开始为每个频道制作消息以保持 sentStamp 约定,但似乎应该是一条消息和几个频道监听一条消息(甚至配置用senders
关键字指示):
routing:
'App\Messenger\Command\Notification\SendSomeInformation':
senders:
- App\Messenger\Sender\Notification\EmailSender
- App\Messenger\Sender\Notification\SmsSender
对于这样的问题有一些好的方法吗?