我正在为一个项目评估带有 RabbitMQ 的 MassTransit,我们希望能够将消息的处理延迟到某个时间。
目标如下:
- 一个用户做了一些影响其他用户的事情
- 一小时后会向公交车发送一条消息通知受影响的用户
- 用户做更多事情并发送更多通知
- 一个小时过去了,然后:
- 自上次摘要以来已经过去了一个多小时:消息已处理,收集每个用户的所有待处理通知,如果至少有一个,则向他们发送摘要。
- 距离上次总结不到一小时:消息未处理,又排了一个小时。
问题是可以通知很多事情,所以我们不想立即发送,而是稍后总结。这可以用 MassTransit 和 RabbitMQ 完成吗?