Skip to content

Mutex ​

Type
Class
Namespace
craft\mutex
Inherits
craft\mutex\Mutex » yii\mutex\Mutex » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Uses traits
craft\mutex\MutexTrait
Since
3.7.30

View source

Public Properties ​

PropertyDescription
autoReleaseboolean – Whether all locks acquired in this process (i.e. local locks) must be released automatically before finishing script execution.
behaviorsyii\base\Behavior – List of behaviors attached to this component.
mutexyii\mutex\Mutex, array, string – The internal mutex driver to use.
namePrefixstring – A string prefixed to every lock name.

mutex ​

Type
yii\mutex\Mutex, array, string
Default value
null

The internal mutex driver to use.

This can be set from config/app.php like so:

php
return [
    'components' => [
        'mutex' => [
            'mutex' => 'yii\redis\Mutex',
        ],
    ],
];

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
acquire()Acquires a lock by name.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the Mutex component.
isAcquired()Checks if a lock is acquired by the current process.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
release()Releases acquired lock. This method will return false in case the lock was not found.
releaseQueuedLocks()Releases any locks that are waiting on the DB transaction to complete.
trigger()Triggers an event.

init() ​

Initializes the Mutex component.

View source

Protected Methods ​

MethodDescription
acquireLock()This method should be extended by a concrete Mutex implementations. Acquires lock by name.
releaseLock()This method should be extended by a concrete Mutex implementations. Releases lock by given name.

acquireLock() ​

This method should be extended by a concrete Mutex implementations. Acquires lock by name.

View source

Arguments ​

  • $name (string) – Of the lock to be acquired.
  • $timeout (integer) – Time (in seconds) to wait for the lock to be released.

Returns ​

boolean – Acquiring result.

releaseLock() ​

This method should be extended by a concrete Mutex implementations. Releases lock by given name.

View source

Arguments ​

  • $name (string) – Of the lock to be released.

Returns ​

boolean – Release result.