added ability to specify folder for flock

This commit is contained in:
Maksym Slesarenko 2018-04-23 14:10:14 +03:00
parent 6bbb5bcc52
commit 244d762400

View File

@ -58,6 +58,7 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\Lock\Factory;
use Symfony\Component\Lock\Lock;
use Symfony\Component\Lock\LockInterface;
use Symfony\Component\Lock\Store\FlockStore;
use Symfony\Component\Lock\Store\StoreFactory;
use Symfony\Component\Lock\StoreInterface;
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
@ -1377,6 +1378,14 @@ class FrameworkExtension extends Extension
case 'flock' === $storeDsn:
$storeDefinition = new Reference('lock.store.flock');
break;
case 0 === strpos($storeDsn, 'flock://'):
$flockPath = substr($storeDsn, 8);
$storeDefinitionId = '.lock.flock.store.'.$container->hash($storeDsn);
$container->register($storeDefinitionId, FlockStore::class)->addArgument($flockPath);
$storeDefinition = new Reference($storeDefinitionId);
break;
case 'semaphore' === $storeDsn:
$storeDefinition = new Reference('lock.store.semaphore');
break;