【问题标题】:How are background workers usually implemented for polling a message queue?后台工作人员通常如何实现轮询消息队列?
【发布时间】:2019-04-28 19:35:05
【问题描述】:

假设您有一个需要每 x 秒轮询一次的消息队列。轮询它和执行基于 HTTP/Rest 的作业的常用方法是什么?您是否只是简单地创建一个 cron 服务并每隔 x 秒调用一次工作脚本?

注意:这是针对 Web 应用程序的

【问题讨论】:

    标签: rest http message-queue scheduling cron


    【解决方案1】:

    我会编写一个不断轮询/等待新消息的 Windows 服务。

    安排一个程序每 x 分钟运行一次有很多问题

    1. 如果您的间隔太小,程序仍会在下次启动时运行。
    2. 如果您的间隔过大,队列将在两次运行之间填满。

    通常,您希望消息源源不断,因此让程序 24/7 全天候运行是没有问题的

    【讨论】:

      【解决方案2】:

      我使用过的消息队列系统的一个共同特点是您不进行轮询,而是使用阻塞读取。如果您有多个等待的工作人员,队列系统将选择哪一个来处理消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-09
        • 1970-01-01
        • 2014-06-05
        • 1970-01-01
        相关资源
        最近更新 更多