PHP Class yii\mutex\FileMutex

This component relies on PHP flock() function. Application configuration example: [ 'components' => [ 'mutex' => [ 'class' => 'yii\mutex\FileMutex' ], ], ] Note: this component can maintain the locks only for the single web server, it probably will not suffice to your in case you are using cloud server solution. Warning: due to flock() function nature this component is unreliable when using a multithreaded server API like ISAPI.
See also: Mutex
Since: 2.0
Author: resurtm ([email protected])
Inheritance: extends Mutex
Datei anzeigen Open project: yiisoft/yii2 Class Usage Examples

Public Properties

Property Type Description
$dirMode the permission to be set for newly created directories. This value will be used by PHP chmod() function. No umask will be applied. Defaults to 0775, meaning the directory is read-writable by owner and group, but read-only for other users.
$fileMode the permission to be set for newly created mutex files. This value will be used by PHP chmod() function. No umask will be applied. If not set, the permission will be determined by the current environment.
$mutexPath the directory to store mutex files. You may use path alias here. Defaults to the "mutex" subdirectory under the application runtime path.

Public Methods

Method Description
init ( ) Initializes mutex component implementation dedicated for UNIX, GNU/Linux, Mac OS X, and other UNIX-like operating systems.

Protected Methods

Method Description
acquireLock ( string $name, integer $timeout ) : boolean Acquires lock by given name.
getLockFilePath ( string $name ) : string Generate path for lock file.
releaseLock ( string $name ) : boolean Releases lock by given name.

Method Details

acquireLock() protected method

Acquires lock by given name.
protected acquireLock ( string $name, integer $timeout ) : boolean
$name string of the lock to be acquired.
$timeout integer to wait for lock to become released.
return boolean acquiring result.

getLockFilePath() protected method

Generate path for lock file.
Since: 2.0.10
protected getLockFilePath ( string $name ) : string
$name string
return string

init() public method

Initializes mutex component implementation dedicated for UNIX, GNU/Linux, Mac OS X, and other UNIX-like operating systems.
public init ( )

releaseLock() protected method

Releases lock by given name.
protected releaseLock ( string $name ) : boolean
$name string of the lock to be released.
return boolean release result.

Property Details

$dirMode public_oe property

the permission to be set for newly created directories. This value will be used by PHP chmod() function. No umask will be applied. Defaults to 0775, meaning the directory is read-writable by owner and group, but read-only for other users.
public $dirMode

$fileMode public_oe property

the permission to be set for newly created mutex files. This value will be used by PHP chmod() function. No umask will be applied. If not set, the permission will be determined by the current environment.
public $fileMode

$mutexPath public_oe property

the directory to store mutex files. You may use path alias here. Defaults to the "mutex" subdirectory under the application runtime path.
public $mutexPath