2017-07-22 34 views
0

所以這裏是問題陳述。我有一項服務移動設備的服務。事件觸發器上的每個用戶都會向服務發送消息來註冊自己。之後,服務會在註冊之後定期(例如5分鐘)執行一組特定的任務。因此,根據註冊時間,每個用戶的執行時間會有所不同。訂閱後爲不同用戶在不同時間執行任務

我使用線程和定時器實現了它,它在一定程度上工作,但隨着用戶增加,線程被終止並且任務未完成。此服務也以蔚藍色爲主。我使用WebHtpp綁定創建了一個WCF服務,該服務接受並返回JSON數據。

網絡工作是給我的建議。但是由於執行時間不同,我也無法使用它。是否有可能使用C#和asp.net執行這樣的任務,或者我是否完全向錯誤的方向發展。

+0

爲什麼不設置一個固定的時間間隔:創建一個進程,該時間執行所有註冊設備的任務。所以一旦設備被註冊,它將不得不等待4.99分鐘才能啓動該設備的任務。這樣你不必保留很多定時器或類似的東西。 –

回答

0

您需要確定完成前停止線程的瓶頸在哪裏。

我會解決這個問題,使用另一種方法:每個新用戶,將一條消息放入一個隊列中,並創建一個Azure函數以將郵件出隊並執行您的服務邏輯。這樣您的應用程序將會更好地擴展,並且您可以通過無服務器方式節省資金。

相關問題