Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. LockBackendInterface.php

interface LockBackendInterface

Lock backend interface.

Hierarchy

  • interface \Drupal\Core\Lock\LockBackendInterface

Expanded class hierarchy of LockBackendInterface

All classes that implement LockBackendInterface

Related topics

Locking mechanisms
Functions to coordinate long operations across requests.
27 files declare their use of LockBackendInterface
AliasPrefixList.php in core/modules/path_alias/src/AliasPrefixList.php
BlockContentUuidLookup.php in core/modules/block_content/src/BlockContentUuidLookup.php
CacheCollector.php in core/lib/Drupal/Core/Cache/CacheCollector.php
CKEditor5ImageController.php in core/modules/ckeditor5/src/Controller/CKEditor5ImageController.php
ConfigImporter.php in core/lib/Drupal/Core/Config/ConfigImporter.php

... See full list

File

core/lib/Drupal/Core/Lock/LockBackendInterface.php, line 83

Namespace

Drupal\Core\Lock
View source
interface LockBackendInterface {
    
    /**
     * Acquires a lock.
     *
     * @param string $name
     *   Lock name. Limit of name's length is 255 characters.
     * @param float $timeout
     *   (optional) Lock lifetime in seconds. Defaults to 30.0.
     *
     * @return bool
     */
    public function acquire($name, $timeout = 30.0);
    
    /**
     * Checks if a lock is available for acquiring.
     *
     * @param string $name
     *   Lock to acquire.
     *
     * @return bool
     */
    public function lockMayBeAvailable($name);
    
    /**
     * Waits a short amount of time before a second lock acquire attempt.
     *
     * While this method is subject to have a generic implementation in abstract
     * backend implementation, some backends may provide non blocking or less I/O
     * intensive wait mechanism: this is why this method remains on the backend
     * interface.
     *
     * @param string $name
     *   Lock name currently being locked.
     * @param int $delay
     *   Seconds to wait for. Defaults to 30.
     *
     * @return bool
     *   TRUE if the lock holds, FALSE if it may be available. You still need to
     *   acquire the lock manually and it may fail again.
     */
    public function wait($name, $delay = 30);
    
    /**
     * Releases the given lock.
     *
     * @param string $name
     *   The lock name.
     */
    public function release($name);
    
    /**
     * Releases all locks for the given lock token identifier.
     *
     * @param string $lockId
     *   (optional) If none given, remove all locks from the current page.
     *   Defaults to NULL.
     */
    public function releaseAll($lockId = NULL);
    
    /**
     * Gets the unique page token for locks.
     *
     * Locks will be wiped out at the end of each page request on a token basis.
     *
     * @return string
     */
    public function getLockId();

}

Members

Title Sort descending Modifiers Object type Summary Overrides
LockBackendInterface::acquire public function Acquires a lock. 4
LockBackendInterface::getLockId public function Gets the unique page token for locks. 4
LockBackendInterface::lockMayBeAvailable public function Checks if a lock is available for acquiring. 4
LockBackendInterface::release public function Releases the given lock. 4
LockBackendInterface::releaseAll public function Releases all locks for the given lock token identifier. 4
LockBackendInterface::wait public function Waits a short amount of time before a second lock acquire attempt. 4
RSS feed
Powered by Drupal