我有一個非常基本的體系結構:有一種方法可以在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