Composer 中的 ThingWorx 模型定义 > 系统 > 子系统 > 排序的事件处理子系统
排序的事件处理子系统
如果系统中存在排序的事件处理子系统,则可确保在处理诸如绑定和解除绑定之类的事件时保持正确的顺序。子系统为线程池提供外观,并具有与其他系统 (如事件处理子系统) 类似的调整参数。此时,该线程池仅为由绑定/解除绑定事件触发的“存在”评估提供服务。
下表所述的设置用于在系统负载较重时限制内存需求量。一旦超出,无论设备状态如何,事物都会开始将 isReporting 更改为 false (有关详细信息,请参阅下表)。
设置
说明
分配到事件处理池的最小线程数
可分配的最小线程数。此设置也是线程池的初始大小。如果线程变为空闲,会对其进行修剪,将保留资源降至该数字。
分配到事件处理池的最大线程数
可分配的最大线程数。线程池将在负载状态下动态调整自身的大小,最多可调整至该数字。
添加新工作线程之前的队列条目最大数目
在线程调整自身大小之前,准备好立即处理的最大任务数 (存在评估)。
确保有序执行的阻止任务最大数目
等待同一设备上的先前评估时,需要排队等候的最大任务数 (存在评估)。
请注意,前三个设置正好由事件处理子系统共享。
子系统会对可能阻止任务的两个不同原因进行区分:
当评估发生时,没有足够的工作线程可用于实时处理所有评估。“最大队列条目”设置可用于限制此类情况发生的可能性。
或者,该设备可能会闪烁,需要进行大量评估。如果评估在下一个绑定/解除绑定事件发生之前未完成,那么需要待第一个评估完成后方可进行第二个评估。“最大阻止任务”设置可用于控制通过这种方式停止的评估的数量。
如果超过“最大队列条目”限制,线程池将试图调整其自身大小。如果成功,则新工作线程将帮助核对评估队列。
如果因“最大线程”限制导致其无法调整自身大小,或超出“最大阻止任务”限制时,线程池将拒绝评估。已拒绝的评估会立即短路至“不报告”状态,而无需做进一步处理。