Spec-Zone.ru › Yii 2.0

Класс yii\mutex\FileMutex

Все классы | Свойства | Методы
Наследование yii\mutex\FileMutex » yii\mutex\Mutex » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Доступна с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/mutex/FileMutex.php

FileMutex реализует механизм блокировки "mutex" через локальные файлы файловой системы.

Этот компонент опирается на функцию PHP flock().

Пример конфигурации приложения:

[
    'components' => [
        'mutex' => [
            'class' => 'yii\mutex\FileMutex'
        ],
    ],
]

Примечание: этот компонент может поддерживать блокировки только для одного веб-сервера, вероятно, его будет недостаточно в случае использования облачного сервера.

Предупреждение: из-за природы функции flock() этот компонент ненадежен при использовании многопоточной серверной API, такой как ISAPI.

См. также yii\mutex\Mutex.

Общедоступные свойства

Свойство Тип Описание Определено в
$autoRelease boolean Указывает, должны ли все блокировки, полученные в этом процессе (т.е. локальные блокировки), быть автоматически освобождены перед завершением выполнения сценария. yii\mutex\Mutex
$behaviors yii\base\Behavior[] Список поведений, присоединённых к этому компоненту yii\base\Component
$dirMode integer Разрешения для вновь созданных каталогов. yii\mutex\FileMutex
$fileMode integer Разрешения для вновь созданных файлов блокировки. yii\mutex\FileMutex
$mutexPath string Каталог для хранения файлов блокировки. yii\mutex\FileMutex

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в значение null. yii\base\Object
acquire() Получает блокировку по имени. yii\mutex\Mutex
attachBehavior() Присоединяет поведение к компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен вести себя компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект поведения с заданным именем. yii\base\Component
getBehaviors() Возвращает все присоединённые к этому компоненту поведения. yii\base\Component
hasEventHandlers() Возвращает значение, указывающее, есть ли какой-либо обработчик, прикрепленный к событию с заданным именем. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует реализацию компонента mutex, предназначенную для операционных систем UNIX, GNU/Linux, Mac OS X и других подобных систем. yii\mutex\FileMutex
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
release() Освобождает полученную блокировку. Этот метод вернёт false, если блокировка не найдена. yii\mutex\Mutex
trigger() Вызывает событие. yii\base\Component

Защищённые методы

Метод Описание Определено в
acquireLock() Получает блокировку с заданным именем. yii\mutex\FileMutex
getLockFilePath() Генерирует путь к файлу блокировки. yii\mutex\FileMutex
releaseLock() Освобождает блокировку с заданным именем. yii\mutex\FileMutex

Подробности свойств

$dirMode общедоступное свойство

Разрешения для вновь созданных каталогов. Это значение будет использоваться функцией PHP chmod(). Применяется umask. По умолчанию 0775, что означает, что каталог доступен для чтения и записи владельцу и группе, но только для чтения для других пользователей.

public integer $dirMode = 0775

$fileMode общедоступное свойство

Разрешения для вновь созданных файлов блокировки. Это значение будет использоваться функцией PHP chmod(). Применяется umask. Если не задано, разрешения определяются текущей средой.

public integer $fileMode = null

$mutexPath общедоступное свойство

Каталог для хранения файлов блокировки. Здесь можно использовать псевдоним пути. По умолчанию – подкаталог "mutex" в каталоге временных файлов приложения.

public string $mutexPath = '@runtime/mutex'

Подробности методов

acquireLock() защищённый метод

Получает блокировку по заданному имени.

защищённый boolean acquireLock ( $name, $timeout = 0 )
$name string

Имени блокировки.

$timeout integer

Время ожидания, пока блокировка не будет освобождена.

return boolean

Результат получения блокировки.

getLockFilePath() защищённый метод (доступен с версии 2.0.10)

Генерирует путь к файлу блокировки.

защищённый string getLockFilePath ( $name )
$name string

init() публичный метод

Инициализирует реализацию компонента мьютекса, предназначенного для операционных систем UNIX, GNU/Linux, Mac OS X и других операционных систем на базе UNIX.

публичный void init ( )
throws yii\base\InvalidConfigException

releaseLock() защищённый метод

Освобождает блокировку по заданному имени.

защищённый boolean releaseLock ( $name )
$name string

Имени блокировки.

return boolean

Результат освобождения.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mutex-filemutex.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API