RetryTillSaveStore

class RetryTillSaveStore implements StoreInterface, LoggerAwareInterface

RetryTillSaveStore is a StoreInterface implementation which decorate a non blocking StoreInterface to provide a blocking storage.

Traits

LoggerAwareTrait

Methods

__construct(StoreInterface $decorated, int $retrySleep = 100, int $retryCount = PHP_INT_MAX)
save(Key $key)

Stores the resource if it's not locked by someone else.

waitAndSave(Key $key)

Waits a key becomes free, then stores the resource.

putOffExpiration(Key $key, float $ttl)

Extends the ttl of a resource.

delete(Key $key)

Removes a resource from the storage.

bool exists(Key $key)

Returns whether or not the resource exists in the storage.

Details

__construct(StoreInterface $decorated, int $retrySleep = 100, int $retryCount = PHP_INT_MAX)

Parameters

StoreInterface $decorated The decorated StoreInterface
int $retrySleep Duration in ms between 2 retry
int $retryCount Maximum amount of retry

save(Key $key)

Stores the resource if it's not locked by someone else.

Parameters

Key $key key to lock

Exceptions

LockConflictedException

waitAndSave(Key $key)

Waits a key becomes free, then stores the resource.

If the store does not support this feature it should throw a NotSupportedException.

Parameters

Key $key key to lock

Exceptions

LockConflictedException
NotSupportedException

putOffExpiration(Key $key, float $ttl)

Extends the ttl of a resource.

If the store does not support this feature it should throw a NotSupportedException.

Parameters

Key $key key to lock
float $ttl amount of second to keep the lock in the store

Exceptions

LockConflictedException
NotSupportedException

delete(Key $key)

Removes a resource from the storage.

Parameters

Key $key key to remove

bool exists(Key $key)

Returns whether or not the resource exists in the storage.

Parameters

Key $key key to remove

Return Value

bool

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/4.0/Symfony/Component/Lock/Store/RetryTillSaveStore.html