簡體   English   中英

在Windows IIS之外運行任務作為Windows服務

[英]Running task as windows service out of band of iis

我們有一個Web應用程序,其中調用了長時間運行或處理器運行速度較高的請求。

我們要創建一個Windows服務,以從IIS服務器上卸載該服務。 我們將在多台計算機上安裝此服務,以減少這些作業的等待時間。 我們正在考慮的一個想法是將Job對象序列化為Sql Server,並將其JobType作為另一列。

作業服務將通過使用其指示器更新該行來聲明該作業,這將防止其他服務選擇該作業。 作業完成后,服務將刪除該條目。

我正在尋找的是其他可能更好的想法來完成作業服務排隊。

我會說這是處理此問題的好方法。 我唯一要添加的是,盡管我不知道Job對象是什么或如何創建它,您也可以卸載它。 無需創建對象並將其序列化到數據庫,只需將原始數據存儲在SQL中即可。 讓服務自己從頭開始構建Job對象。 這樣,您就可以避免序列化了。 但是,如果這不可能,那么我想說您的解決方案似乎是最可行的。

如果您采用這種方法,則可以考慮優化服務分流。 例如,您可以在負載繁忙時喚醒額外的服務,然后在負載減輕時使某些服務進入睡眠狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM