You are here

public function Lock::isLockedMultiple in Ultimate Cron 8.2

Check multiple locks.

Parameters

array $job_ids: The names of the locks to check.

Return value

array Array of lock ids.

Overrides LockInterface::isLockedMultiple

File

src/Lock/Lock.php, line 190

Class

Lock
Class for handling lock functions.

Namespace

Drupal\ultimate_cron\Lock

Code

public function isLockedMultiple($job_ids) {
  $now = microtime(TRUE);
  $result = $this->connection
    ->select('ultimate_cron_lock', 'l')
    ->fields('l', array(
    'lid',
    'name',
    'expire',
  ))
    ->condition('name', $job_ids, 'IN')
    ->condition('current', 0)
    ->execute()
    ->fetchAllAssoc('name');
  foreach ($job_ids as $job_id) {
    if (!isset($result[$job_id])) {
      $result[$job_id] = FALSE;
    }
    else {
      $result[$job_id] = $result[$job_id]->expire > $now ? $result[$job_id]->lid : FALSE;
    }
  }
  return $result;
}