【发布时间】:2018-04-03 08:51:28
【问题描述】:
我试图弄清楚 rebus 是否支持查询队列。 我想查看队列,以了解消息是否已在队列中处于延迟状态。 原因是我们正在执行一项相当昂贵的操作,我们希望每天执行一次,并且我们可能有多个服务实例,因此我们希望确保总线上只有这种类型的 on 消息。
rebus 是否可以做到这一点,或者我应该为此使用 azure service bus api 吗?
【问题讨论】:
标签: rebus
我试图弄清楚 rebus 是否支持查询队列。 我想查看队列,以了解消息是否已在队列中处于延迟状态。 原因是我们正在执行一项相当昂贵的操作,我们希望每天执行一次,并且我们可能有多个服务实例,因此我们希望确保总线上只有这种类型的 on 消息。
rebus 是否可以做到这一点,或者我应该为此使用 azure service bus api 吗?
【问题讨论】:
标签: rebus
Rebus 是不可能的 :(
对我来说,这听起来更像是您想使用某种调度程序,例如比如Quartz .NET,或者你自己编码的东西。
对我来说,查询 Azure 服务总线队列听起来不是一个好主意,因为它有点倒退,因为听起来你只是想每天执行一些任务。
这会突然将您与 ASB 传输及其怪癖联系在一起,同时也将您与 Rebus 的延迟消息是使用 ASB 的延迟可见性功能实现的事实联系在一起,从而使您的代码的可移植性降低。
最后,我担心您会遇到并发问题,因为避免围绕谁将延迟消息放入队列的竞争条件并非易事。
如果我是你,我会自己编写一个简单的调度程序,然后让它根据需要定期发送 Rebus 消息。
【讨论】: