我目前正在构建两个 Windows 服务:
第一个从互联网连接获取消息并将这些消息插入数据库。这是为了快速稳定而设计的,不做任何其他处理
第二个对自上次运行以来到达的任何新消息执行批处理。
我正在尝试一种方法,以便第二个服务仅在准备好处理新消息时运行其批处理,并且如果第二个服务出错,则第一个服务将继续运行,反之亦然。目前它每 5 秒使用一次循环。
我目前正在考虑使用消息队列,其中第一个服务仅在队列为空时写入消息,第二个服务将查看队列是否包含任何消息,如果不进入异步等待直到消息到达然后删除消息并运行。因此,使用队列并不是真正的队列,而是作为一个二进制开关,当它的状态改变时会导致一个事件被触发到第二个服务。
我想有一种更好的方法可以做到这一点,我还没有遇到过有人可以指出我正确的方向吗?