class PersistentDatabaseLockBackend
Same name in this branch
- 9 core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\ProxyClass\Lock\PersistentDatabaseLockBackend
Same name in other branches
- 8.9.x core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\ProxyClass\Lock\PersistentDatabaseLockBackend
- 8.9.x core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\Lock\PersistentDatabaseLockBackend
- 10 core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\ProxyClass\Lock\PersistentDatabaseLockBackend
- 10 core/lib/Drupal/Core/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\Lock\PersistentDatabaseLockBackend
- 11.x core/lib/Drupal/Core/ProxyClass/Lock/PersistentDatabaseLockBackend.php \Drupal\Core\ProxyClass\Lock\PersistentDatabaseLockBackend
- 11.x 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 \Drupal\Core\Lock\LockBackendInterface
- class \Drupal\Core\Lock\DatabaseLockBackend extends \Drupal\Core\Lock\LockBackendAbstract
- class \Drupal\Core\Lock\PersistentDatabaseLockBackend extends \Drupal\Core\Lock\DatabaseLockBackend
- class \Drupal\Core\Lock\DatabaseLockBackend extends \Drupal\Core\Lock\LockBackendAbstract
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 14
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
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
DatabaseLockBackend::$database | protected | property | The database connection. | |
DatabaseLockBackend::acquire | public | function | Acquires a lock. | Overrides LockBackendInterface::acquire |
DatabaseLockBackend::catchException | protected | function | Act on an exception when semaphore might be stale. | |
DatabaseLockBackend::ensureTableExists | protected | function | Check if the semaphore table exists and create it if not. | |
DatabaseLockBackend::lockMayBeAvailable | public | function | Checks if a lock is available for acquiring. | Overrides LockBackendInterface::lockMayBeAvailable |
DatabaseLockBackend::normalizeName | protected | function | Normalizes a lock name in order to comply with database limitations. | |
DatabaseLockBackend::release | public | function | Releases the given lock. | Overrides LockBackendInterface::release |
DatabaseLockBackend::releaseAll | public | function | Releases all locks for the given lock token identifier. | Overrides LockBackendInterface::releaseAll |
DatabaseLockBackend::schemaDefinition | public | function | Defines the schema for the semaphore table. | |
DatabaseLockBackend::TABLE_NAME | constant | The database table name. | ||
LockBackendAbstract::$lockId | protected | property | Current page lock token identifier. | |
LockBackendAbstract::$locks | protected | property | Existing locks for this page. | |
LockBackendAbstract::getLockId | public | function | Gets the unique page token for locks. | Overrides LockBackendInterface::getLockId |
LockBackendAbstract::wait | public | function | Waits a short amount of time before a second lock acquire attempt. | Overrides LockBackendInterface::wait |
PersistentDatabaseLockBackend::__construct | public | function | Constructs a new PersistentDatabaseLockBackend. | Overrides DatabaseLockBackend::__construct |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.