我正在使用MassTransit管理多个HTTP发布过程,并希望在所有HTTP发布完成后发布消息。使用Sagas可以做到这一点吗?我还没有找到这种情况的任何例子。这是我的用例示例-
因此,用户执行4个HTTP发布(3个包含数据,第4个代表完成)。当用户发布上传完成信息时,上传信息可能仍在处理中,因此我想等到所有上传内容都已处理并发送上传完成信息后,再触发另一条消息(UploadProcessingFinished)以继续执行以下步骤:工作流程。
答案 0 :(得分:0)
您可以为此使用传奇。如前所述,如果恰好有四个步骤,则是包含四个单独事件的单个传奇。然后将CompositeEvent添加到处理完所有四个事件后触发的传奇中。
如果步骤在完成事件之前是可变的,则您可能希望在每次上载时都有一个开始/完成事件的计数器,以及一个超时,然后再考虑实际完成命令的完成。但是除非绝对必要,否则我将尽可能避免这种复杂性。