class PersistentDatabaseLockBackend in Drupal 9
Same name in this branch
- 9 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\Lock\PersistentDatabaseLockBackend
- 9 core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\ProxyClass\Lock\PersistentDatabaseLockBackend
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\Lock\PersistentDatabaseLockBackend
- 10 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\Lock\PersistentDatabaseLockBackend
Defines the persistent database lock backend. This backend is global for this Drupal installation.
Hierarchy
- class \Drupal\Core\Lock\LockBackendAbstract implements LockBackendInterface
- class \Drupal\Core\Lock\DatabaseLockBackend
- class \Drupal\Core\Lock\PersistentDatabaseLockBackend
- class \Drupal\Core\Lock\DatabaseLockBackend
Expanded class hierarchy of PersistentDatabaseLockBackend
Related topics
1 string reference to 'PersistentDatabaseLockBackend'
- core.services.yml in core/
core.services.yml - core/core.services.yml
1 service uses PersistentDatabaseLockBackend
File
- core/
lib/ Drupal/ Core/ Lock/ PersistentDatabaseLockBackend.php, line 13
Namespace
Drupal\Core\LockView source
class PersistentDatabaseLockBackend extends DatabaseLockBackend {
/**
* Constructs a new PersistentDatabaseLockBackend.
*
* @param \Drupal\Core\Database\Connection $database
* The database connection.
*/
public function __construct(Connection $database) {
// Do not call the parent constructor to avoid registering a shutdown
// function that releases all the locks at the end of a request.
$this->database = $database;
// Set the lockId to a fixed string to make the lock ID the same across
// multiple requests. The lock ID is used as a page token to relate all the
// locks set during a request to each other.
// @see \Drupal\Core\Lock\LockBackendInterface::getLockId()
$this->lockId = 'persistent';
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DatabaseLockBackend:: |
protected | property | The database connection. | |
DatabaseLockBackend:: |
public | function |
Acquires a lock. Overrides LockBackendInterface:: |
|
DatabaseLockBackend:: |
protected | function | Act on an exception when semaphore might be stale. | |
DatabaseLockBackend:: |
protected | function | Check if the semaphore table exists and create it if not. | |
DatabaseLockBackend:: |
public | function |
Checks if a lock is available for acquiring. Overrides LockBackendInterface:: |
|
DatabaseLockBackend:: |
protected | function | Normalizes a lock name in order to comply with database limitations. | |
DatabaseLockBackend:: |
public | function |
Releases the given lock. Overrides LockBackendInterface:: |
|
DatabaseLockBackend:: |
public | function |
Releases all locks for the given lock token identifier. Overrides LockBackendInterface:: |
|
DatabaseLockBackend:: |
public | function | Defines the schema for the semaphore table. | |
DatabaseLockBackend:: |
constant | The database table name. | ||
LockBackendAbstract:: |
protected | property | Current page lock token identifier. | |
LockBackendAbstract:: |
protected | property | Existing locks for this page. | |
LockBackendAbstract:: |
public | function |
Gets the unique page token for locks. Overrides LockBackendInterface:: |
|
LockBackendAbstract:: |
public | function |
Waits a short amount of time before a second lock acquire attempt. Overrides LockBackendInterface:: |
|
PersistentDatabaseLockBackend:: |
public | function |
Constructs a new PersistentDatabaseLockBackend. Overrides DatabaseLockBackend:: |