日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【EasyNetQ】- 使用Future Publish调度事件

發布時間:2023/11/30 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【EasyNetQ】- 使用Future Publish调度事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

許多業務流程要求在將來某個日期安排事件。例如,在與客戶進行初次銷售聯系后,我們可能希望在將來的某個時間安排跟進電話。EasyNetQ可以通過其Future Publish功能幫助您實現此功能。例如,這里我們使用FuturePublish擴展方法來安排未來一個月的后續銷售電話。請注意,FuturePublish使用UTC時間。

var followUpCallMessage = new FollowUpCallMessage( .. ); bus.FuturePublish(DateTime.UtcNow.AddMonths(3), followUpCallMessage);

?

三個月后,EasyNetQ將發布消息,FollowUpCallMessage的任何訂閱者都將收到原始消息的副本。

FuturePublish要求EasyNetQ.Scheduler服務正在運行。

它是如何工作的?

當您調用bus.FuturePublish(publishDate,message)時,EasyNetQ將您的消息包裝在系統消息“ScheduleMe”中并將其發布到RabbitMQ。調度程序服務訂閱此消息。收到ScheduleMe消息時,它會將其存儲在本地數據庫中。調度程序服務輪詢其數據庫以查找計劃日期到期的消息,當它找到任何到期消息時,它會從ScheduleMe消息中解包原始消息并將其發布到總線。

安裝調度程序服務

  • 在SQL Server中,創建一個新的數據庫EasyNetQ.Scheduler

  • 獲取EasyNetQ的源代碼

    git clone?git@github.com?:mikehadlow/EasyNetQ.git

  • 在Visual Studio中打開EasyNetQ.2012解決方案。在DatabaseScripts - > EasyNetQ.Scheduler文件夾中,您將找到許多SQL腳本。在EasyNetQ.Scheduler數據庫中打開并運行它們。您將需要首先運行CreateWorkTables.sql,其他是存儲過程腳本,并且可以按任何順序運行。

  • 構建解決方案。

  • 找到\ Source \ EasyNetQ.Scheduler \ bin \ Debug并將內容復制到您選擇的部署文件夾中。

  • 在文本編輯器中打開EasyNetQ.Scheduler.exe.config并將'rabbit'和'scheduleDb'連接字符串分別更改為指向RabbitMQ代理和SQL Server實例。

  • 打開控制臺窗口并更改部署EasyNetQ.Scheduler的文件夾的路徑。

  • 運行以下命令將EasyNetQ.Scheduler安裝為Windows服務:

    EasyNetQ.Scheduler.exe install

    ?

    Configuration Result: [Success] Name EasyNetQ.Scheduler [Success] ServiceName EasyNetQ.Scheduler Topshelf v3.1.106.0, .NET Framework v4.0.30319.18051Running a transacted installation.Beginning the Install phase of the installation. Installing EasyNetQ.Scheduler service Installing service EasyNetQ.Scheduler... Service EasyNetQ.Scheduler has been successfully installed. Creating EventLog source EasyNetQ.Scheduler in log Application...The Install phase completed successfully, and the Commit phase is beginning.The Commit phase completed successfully.The transacted install has completed.

    ?

  • 您現在應該可以調用FuturePublish并查看在指定時間顯示的消息。

    要卸載EasyNetQ.Scheduler,請運行:

    EasyNetQ.Scheduler.exe uninstall

    ?

    ?

    轉載于:https://www.cnblogs.com/wangwust/p/9437486.html

    總結

    以上是生活随笔為你收集整理的【EasyNetQ】- 使用Future Publish调度事件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。