Компонент Мьютекс
Описание
Занимает или освобождает критическую секцию на текущем сайте. Применяется для блокирования произвольной операции (например чтение и модификация сайтовой или глобальной переменной) от одновременного выполнения в разных экземплярах сценариев и связанных с этим вредных мутаций. Может использоваться как альтернатива транзакциям.
Компонент приостанавливает выполнение сценария до тех пор пока не будет выдана инициатива, подтверждающая захват именованной критической секции.
Ожидание захвата может быть прервано по таймауту, при этом происходит отказ от захвата.
Критическая секция будет удерживаться до одного из событий:
а) выполнение освобождения секции в этом же сценарии таким же компонентом с действием "Освободить";
б) плановым или внеплановым завершением обработчика сценария;
в) истеканием времени гарантированного освобождения, заданного в параметрах компонента.
г) перезагрузкой ноды или сервера, исполняющего сценарий.
Реализация компонента ограничивает применение рамками одного сайта. Критическая секция не имеет привязки к доменам, конкретным серверам и сценариям. Для введения таковых привязок следует формировать ключ с применением названия соответствующего домена и/или сервера.
Индекс |
|
Краткое название |
|
Типы сценариев |
|
Стартовый модуль |
|
Режим |
Асинхронный |
Иконка |
|
Характер разветвления |
Разветвляющий, замыкающий |
Свойства
Спецификация | Описание |
---|---|
Название: |
Аргумент, содержащий имя критической секции. |
Название: |
Выбор действия над критической секцией.
|
Название: |
Выбор типа блокируемой операции.
Применяется для захвата. |
Название: |
Аргумент, содержащий таймаут в миллисекундах, после истечения которого ожидание захвата следует прекратить. Управление возвращается по ветке таймаута. |
Название: |
Аргумент, содержащий время удержания блокировки в миллисекундах, по истечении которого критическая секция гарантированно освободится без ожидания других событий. |
Название: |
Переменная для сохранения текста ошибки в случае неудачи захвата. |
Название: |
Компонент, которому передается управление при успешном завершении операции. |
Название: |
Компонент, которому передается управление по истечении таймауте ожидания результата операции. |
Название: |
Компонент, которому передается управление в случае возникновения ошибки. |