function CombinedStore::exists
Overrides PersistingStoreInterface::exists
File
-
vendor/
symfony/ lock/ Store/ CombinedStore.php, line 173
Class
- CombinedStore
- CombinedStore is a PersistingStoreInterface implementation able to manage and synchronize several StoreInterfaces.
Namespace
Symfony\Component\Lock\StoreCode
public function exists(Key $key) : bool {
$successCount = 0;
$failureCount = 0;
$storesCount = \count($this->stores);
foreach ($this->stores as $store) {
try {
if ($store->exists($key)) {
++$successCount;
}
else {
++$failureCount;
}
} catch (\Exception $e) {
$this->logger?->debug('One store failed to check the "{resource}" lock.', [
'resource' => $key,
'store' => $store,
'exception' => $e,
]);
++$failureCount;
}
if ($this->strategy
->isMet($successCount, $storesCount)) {
return true;
}
if (!$this->strategy
->canBeMet($failureCount, $storesCount)) {
return false;
}
}
return false;
}