|
moodle_database | $db |
| $db Hold a reference to the global $DB
|
|
array | $openlocks = array() |
| $openlocks - List of held locks - used by auto-release
|
|
string | $type |
| $type Used to prefix lock keys
|
|
◆ __construct()
core\lock\db_record_lock_factory::__construct |
( |
|
$type | ) |
|
◆ auto_release()
core\lock\db_record_lock_factory::auto_release |
( |
| ) |
|
Auto release any open locks on shutdown.
This is required, because we may be using persistent DB connections.
◆ extend_lock()
core\lock\db_record_lock_factory::extend_lock |
( |
lock |
$lock, |
|
|
|
$maxlifetime = 86400 |
|
) |
| |
Extend a lock that was previously obtained with @lock.
- Parameters
-
lock | $lock | - a lock obtained from this factory. |
int | $maxlifetime | - the new lifetime for the lock (in seconds). |
- Return values
-
boolean | - true if the lock was extended. |
Implements core\lock\lock_factory.
◆ generate_unique_token()
core\lock\db_record_lock_factory::generate_unique_token |
( |
| ) |
|
|
protected |
This function generates a unique token for the lock to use.
It is important that this token is not solely based on time as this could lead to duplicates in a clustered environment (especially on VMs due to poor time precision).
◆ get_lock()
core\lock\db_record_lock_factory::get_lock |
( |
|
$resource, |
|
|
|
$timeout, |
|
|
|
$maxlifetime = 86400 |
|
) |
| |
Create and get a lock.
- Parameters
-
string | $resource | - The identifier for the lock. Should use frankenstyle prefix. |
int | $timeout | - The number of seconds to wait for a lock before giving up. |
int | $maxlifetime | - Unused by this lock type. |
- Return values
-
boolean | - true if a lock was obtained. |
Implements core\lock\lock_factory.
◆ is_available()
core\lock\db_record_lock_factory::is_available |
( |
| ) |
|
Is available.
- Return values
-
boolean | - True if this lock type is available in this environment. |
Implements core\lock\lock_factory.
◆ release_lock()
core\lock\db_record_lock_factory::release_lock |
( |
lock |
$lock | ) |
|
Release a lock that was previously obtained with @lock.
- Parameters
-
lock | $lock | - a lock obtained from this factory. |
- Return values
-
boolean | - true if the lock is no longer held (including if it was never held). |
Implements core\lock\lock_factory.
◆ supports_auto_release()
core\lock\db_record_lock_factory::supports_auto_release |
( |
| ) |
|
Will this lock type will be automatically released when a process ends.
- Return values
-
boolean | - True (shutdown handler) |
Implements core\lock\lock_factory.
◆ supports_recursion()
core\lock\db_record_lock_factory::supports_recursion |
( |
| ) |
|
Multiple locks for the same resource can be held by a single process.
- Return values
-
boolean | - False - not process specific. |
Implements core\lock\lock_factory.
◆ supports_timeout()
core\lock\db_record_lock_factory::supports_timeout |
( |
| ) |
|
Return information about the blocking behaviour of the lock type on this platform.
- Return values
-
Implements core\lock\lock_factory.
The documentation for this class was generated from the following file: