Определение модели ThingWorx в Composer > Система > Подсистемы > Подсистема обработки упорядоченных событий
Подсистема обработки упорядоченных событий
Подсистема обработки упорядоченных событий используется для обеспечения соблюдения надлежащего порядка при обработке событий, таких как привязка и отмена привязки. Эта подсистема предоставляет интерфейс для пула потоков и поддерживает параметры настройки, подобные другим подсистемам, таким как подсистема обработки событий. В настоящее время этот пул обслуживает только оценку присутствия, которая запускается событиями привязки/отмены привязки.
Настройки, описанные в следующей таблице, служат для ограничения объема потребляемой памяти при работе системы с большой нагрузкой. В случае превышения их значений вещи начинают изменять значение isReporting на false независимо от состояния устройства (дополнительные сведения см. в таблице ниже).
Настройка
Описание
Минимальное число потоков, выделенных для пула обработки событий
Минимальное число потоков, которые будут выделены. Эта настройка также определяет начальный размер пула потоков. Если потоки становятся неактивными, они сокращаются для сохранения ресурсов вплоть до такого количества.
Максимальное число потоков, выделенных для пула обработки событий
Максимальное число потоков, которые будут выделены. Под нагрузкой пул динамически изменяет свой размер вплоть до такого количества.
Максимум записей очереди перед добавлением нового рабочего потока
Максимальное количество заданий (оценка присутствия), готовых к немедленной обработке перед тем, как пул изменит свой размер.
Максимальное число заблокированных заданий для обеспечения выполнения по порядку
Максимальное количество заданий (оценка присутствия), которые могут быть поставлены в очередь в ожидании предыдущей оценки на том же устройстве.
Учтите, что первые три настройки имеют точные эквиваленты в подсистеме обработки событий.
Подсистема проводит различие между двумя разными причинами, по которым задание может быть заблокировано.
Доступно недостаточно потоков конвертера для обработки всех оценок в реальном времени по мере их поступления. Настройка "Максимум записей очереди" позволяет ограничить вероятность возникновения такой ситуации.
Либо одни и те же устройства могут включаться и выключаться, требуя большого числа оценок. Если оценка не завершается перед возникновением следующего события привязки/отмены привязки, для выполнения второй оценки требуется дождаться завершения первой. Настройка "Максимальное число заблокированных заданий" управляет количеством оценок, которые могут быть остановлены таким образом.
В случае превышения предела "Максимум записей очереди" пул потоков пытается изменить собственный размер. При успешном выполнении этого действия новый поток конвертера поможет справиться с очередью заданий оценки.
Если размер изменить невозможно из-за ограничения максимального числа потоков или если превышено предельное значение максимального числа заблокированных заданий, пул потоков отклоняет задание оценки. Состояние отклоненного задания оценки немедленно изменяется на "нет отчетов" без какой-либо дальнейшей обработки.
Было ли это полезно?