我有一个非常基本的体系结构:有一种方法可以在Azure队列或服务总线中获得“处理完成”消息事件?
Queue和Worker(后台处理服务)中的Web API队列消息正在出队并处理消息。
问题是Web API不知道工作人员处理了messaged的时间。
工作者是否可以提醒队列消息已成功处理,并且队列发送回Web API“处理完成消息”事件?
一个解决方案,我想上:在Web API排队的消息
后,它会检查每对夫妇的第二个消息状态:
如果消息状态是“派克锁“ - 消息仍在处理中。
如果消息未在队列上找到 - 消息已处理(成功或失败,则无关紧要)。
但是,Microsoft没有预先制定的解决方案?
感谢Mike,所以如果我正确理解你的话,我会在Web-API和所有Worker实例之间有一个主队列,并且对于主队列中的每个工作(消息),我都会有另一个子队列用于在Web -API和特定的工作人员处理工作? – Ron
一个队列将Web-API处理为工作程序路径。然后,如果特定的发起请求Wep-API服务器需要知道该过程已完成,那么可以是所有Web-API服务器正在监视的单个队列,也可以是每个Web-API服务器的队列。这取决于Web-API服务器在响应中所做的事情。 – MikeWo
因此,对于最简单的场景,我需要两个队列: 1 - Web API将作业发布到其中。 2 - 用于Web API监视作业完成情况。 我说得对吗?如果你有任何关于它的文章的外部链接,我会感谢:) 谢谢迈克 – Ron