Блокировка всегда в Symfony - PullRequest
0 голосов
/ 28 июня 2019

Я использую Symfony 4.2 и Symfony / Lock 4.2

Мне нужен маршрут, который проверяет, используется ли блокировка, и обрабатывает некоторый код, если это не так.

Вот пример, который я использую:

     /**
     * @Route("/dropbox/process", name="dropbox.process")
     */
    public function dropboxProcessAction() {

        $store = new SemaphoreStore();
        $factory = new Factory($store);
        $lock = $factory->createLock("TESTLOCK", 3600);

        $response = new Response();

        if ($lock->acquire(false)) {
            $response->setContent('Acquired');
            $response->setStatusCode(200);
            sleep(5);
            $lock->release();
        } else {
            $response->setContent('NotAquired');
            $response->setStatusCode(400);
        }
        return $response;
    }

Если я открою два

http://localhost:8000/dropbox/process

в то же время второй ожидает завершения первого, прежде чем выполнить.

Когда я передал false в качестве набора для моей функции , разве не должен был ответить false сразу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...