Class yii\mutex\PgsqlMutex
| Inheritance | yii\mutex\PgsqlMutex » yii\mutex\DbMutex » yii\mutex\Mutex » yii\base\Component » yii\base\BaseObject |
|---|---|
| Implements | yii\base\Configurable |
| Uses Traits | yii\mutex\RetryAcquireTrait |
| Available since version | 2.0.8 |
| Source Code | https://github.com/yiisoft/yii2/blob/master/framework/mutex/PgsqlMutex.php |
PgsqlMutex implements mutex "lock" mechanism via PgSQL locks.
Application configuration example:
[
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=127.0.0.1;dbname=demo',
]
'mutex' => [
'class' => 'yii\mutex\PgsqlMutex',
],
],
]
See also yii\mutex\Mutex.
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $autoRelease | boolean | Whether all locks acquired in this process (i.e. local locks) must be released automatically before finishing script execution. | yii\mutex\Mutex |
| $db | yii\db\Connection|array|string | The DB connection object or the application component ID of the DB connection. | yii\mutex\DbMutex |
| $retryDelay | integer | Number of milliseconds between each try in \yii\mutex\acquire() until specified timeout times out. | yii\mutex\RetryAcquireTrait |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | yii\base\Component |
| __clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
| __construct() | Constructor. | yii\base\BaseObject |
| __get() | Returns the value of a component property. | yii\base\Component |
| __isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
| __set() | Sets the value of a component property. | yii\base\Component |
| __unset() | Sets a component property to be null. | yii\base\Component |
| acquire() | Acquires a lock by name. | yii\mutex\Mutex |
| attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
| attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
| behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
| canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
| canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
| className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
| detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
| detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
| getBehavior() | Returns the named behavior object. | yii\base\Component |
| getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
| hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
| hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
| hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
| init() | Initializes PgSQL specific mutex component implementation. | yii\mutex\PgsqlMutex |
| isAcquired() | Checks if a lock is currently acquired | yii\mutex\Mutex |
| off() | Detaches an existing event handler from this component. | yii\base\Component |
| on() | Attaches an event handler to an event. | yii\base\Component |
| release() | Releases acquired lock. This method will return false in case the lock was not found. | yii\mutex\Mutex |
| trigger() | Triggers an event. | yii\base\Component |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| acquireLock() | Acquires lock by given name. | yii\mutex\PgsqlMutex |
| releaseLock() | Releases lock by given name. | yii\mutex\PgsqlMutex |
Method Details
Acquires lock by given name.
See also http://www.postgresql.org/docs/9.0/static/functions-admin.html.
| protected boolean acquireLock ( $name, $timeout = 0 ) | ||
| $name | string | Of the lock to be acquired. |
| $timeout | integer | Time (in seconds) to wait for lock to become released. |
| return | boolean | Acquiring result. |
|---|---|---|
Initializes PgSQL specific mutex component implementation.
| public void init ( ) | ||
| throws | yii\base\InvalidConfigException | if $db is not PgSQL connection. |
|---|---|---|
Releases lock by given name.
See also http://www.postgresql.org/docs/9.0/static/functions-admin.html.
| protected boolean releaseLock ( $name ) | ||
| $name | string | Of the lock to be released. |
| return | boolean | Release result. |
|---|---|---|