WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
класс не описан

ActionScheduler_OptionLock{} WC 3.0.0

Provide a way to set simple transient locks to block behaviour for up-to a given duration.

Class ActionScheduler_OptionLock

Хуков нет.

Возвращает

Null. Ничего.

Использование

$ActionScheduler_OptionLock = new ActionScheduler_OptionLock();
// use class methods

Методы

  1. get_expiration( $lock_type )
  2. get_key( $lock_type )
  3. set( $lock_type )

Список изменений

С версии 3.0.0 Введена.

Код ActionScheduler_OptionLock{} WC 4.6.1

<?php
class ActionScheduler_OptionLock extends ActionScheduler_Lock {

	/**
	 * Set a lock using options for a given amount of time (60 seconds by default).
	 *
	 * Using an autoloaded option avoids running database queries or other resource intensive tasks
	 * on frequently triggered hooks, like 'init' or 'shutdown'.
	 *
	 * For example, ActionScheduler_QueueRunner->maybe_dispatch_async_request() uses a lock to avoid
	 * calling ActionScheduler_QueueRunner->has_maximum_concurrent_batches() every time the 'shutdown',
	 * hook is triggered, because that method calls ActionScheduler_QueueRunner->store->get_claim_count()
	 * to find the current number of claims in the database.
	 *
	 * @param string $lock_type A string to identify different lock types.
	 * @bool True if lock value has changed, false if not or if set failed.
	 */
	public function set( $lock_type ) {
		return update_option( $this->get_key( $lock_type ), time() + $this->get_duration( $lock_type ) );
	}

	/**
	 * If a lock is set, return the timestamp it was set to expiry.
	 *
	 * @param string $lock_type A string to identify different lock types.
	 * @return bool|int False if no lock is set, otherwise the timestamp for when the lock is set to expire.
	 */
	public function get_expiration( $lock_type ) {
		return get_option( $this->get_key( $lock_type ) );
	}

	/**
	 * Get the key to use for storing the lock in the transient
	 *
	 * @param string $lock_type A string to identify different lock types.
	 * @return string
	 */
	protected function get_key( $lock_type ) {
		return sprintf( 'action_scheduler_lock_%s', $lock_type );
	}
}