我在一個pub/sub應用程序中爲web應用程序上的事件通知使用NServiceBus。現在,當發生某些事情時(例如創建便箋),會在總線上創建併發送一條消息,然後用戶選擇該消息並確定需要獲得有關該事件的電子郵件或短信通知的人員。當使用沒有Sagas的NServiceBus pub/sub時的延遲消息處理
我想要做的是對處理流中的某些事件進行延遲。這種延遲的目的類似於電視直播中7秒的延遲 - 它讓用戶解僱了他們所做的事情。我們的活動CommentCreated
。當我的服務層保留新評論時發送此事件。這個評論可以被標記爲私人或內部,並且用戶創建評論然後意識到他們應該標記爲私人評論並不罕見。
我想,原因之一,我不是他們精明做到這一點延遲沒有傳奇故事,兩個,他們似乎有點爲這個簡單的要求矯枉過正,和三我不想處理另一個數據庫服務器來堅持他們的數據。貧民窟選項將在我的用戶處理程序中設置一個計時器,並在處理前等待幾分鐘,但這只是感覺不對。
是否可以在NServiceBus中執行此操作?我知道有些人會說,以創建一個查詢服務,但那種失敗服務總線的目的...
是否有任何理由讓用戶看不到用戶界面上的註釋,並且不會將它們推回到後端直到晚些時候? –
好吧,既然我已經有了NSB pub/sub,我想在那裏處理它。由於應用程序是一個Web應用程序(MVC,所以沒有狀態),這會增加複雜性來保留便箋,但會延遲事件觸發。我只是在談論一個短暫的延遲 - 不超過5分鐘。 –
我在想,你會堅持在DOM(jQuery或其他),而不是Bus.Send()到服務器的筆記,直到他們採取了一些行動(按鈕,離開頁面)。這將是一個沙盒,直到他們真正想要保存。 –