Composer 中的 ThingWorx 模型定義 > 系統 > 子系統 > 已排序事件處理子系統
已排序事件處理子系統
已排序事件處理子系統的存在是為了確保在處理例如繫結與解除繫結這類事件時,能夠維持適當的順序。子系統會提供執行緒集區的外觀,並具有與其他系統 (例如事件處理子系統) 相似的調整參數。此時,此集區只為由繫結/解除繫結事件觸發的「存在」評估提供服務。
下表所述的設定用來在系統負載過重時限制記憶體使用量。如果超出這些設定,物件會開始將 isReporting 變更為 false,而無論裝置狀態為何 (如需更多詳細資訊,請參閱下表)。
設定
描述
分配予事件處理集區的最小執行緒
要分配的執行緒數目下限。此設定也是執行緒集區的初始大小。如果執行緒變為閒置,會予以剪除以保留資源,直到下降到此數目為止。
分配予事件處理集區的最大執行緒
要分配的執行緒數目上限。當集區處於負載狀態下時,集區會自動重定其本身的大小,直到增加到此數目為止。
新增新工作執行緒前最大佇列項目
準備好在集區重定其本身大小之前立即處理的任務 (存在評估) 數上限。
保證按順序執行的最大受阻任務數
可以排入佇列,等待相同裝置中之前評估的任務 (存在評估) 數上限。
請注意,前三個設定完全由事件處理子系統共用。
子系統會區分任務可能受阻的兩個不同原因:
可用來在所有評估發生時即時處理這些評估的背景工作執行緒不足。「最大佇列項目」設定可讓您限制發生這種情況的可能性。
或者,相同裝置可能會反覆開啟及關閉,進而需要大量評估。如果評估不在下一個繫結/解除繫結事件發生之前完成,第二個評估需要等待,直到第一個評估完成為止。「最大受阻任務」設定控制透過此方式可以停止多少評估。
如果超出「最大佇列項目」限制,執行緒集區會嘗試重定其本身的大小。如果成功,新背景工作執行緒會協助消化評估的佇列。
如果由於「最大執行緒」限制而無法重定大小,或當超出「最大受阻任務」限制時,執行緒集區會拒絕評估。遭到拒絕的評估會立即停止在「未報告」,而無須進行任何進一步處理。