Symfony — Семафор PHP Symfony2

Я хочу какой-то способ сохранить переменную между различными запросами.

Моя ситуация:

У меня есть класс обслуживания symfony2, который выполняет команды на удаленной машине.
Я не хочу каким-либо образом контролировать это выполнение, чтобы оно прекратилось, если предыдущее выполнение еще не закончено.

Я слышал о семафорах, но я не уверен, что это сработает, и будет ли это подходящим способом сделать что-то подобное.

Принцип, который я представляю, довольно прост.

Клиент1 отправляет запрос на сервер, который начинает выполнение кода на удаленной машине. Перед этим он проверяет, установлена ​​ли переменная выполнения, если нет, то устанавливает переменную, которая выполняется.

Client2 отправляет запросы с той же логикой, но теперь переменная процесса выполнения установлена ​​так, что это означает, что удаленный сервер занят, поэтому запрос останавливается, и сервер отправляет ответ клиенту, что служба в данный момент занята.

Как я могу этого достичь?

1

Решение

Когда служба запустится, создайте файл на диске. После выполнения команды удалите файл. Другие запросы проверяют существование файла и выполняют команду только тогда, когда файл отсутствует.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]