Есть файл test.php
В этом файле я добавил вот такой код:
public function __construct()
{
$lock = fopen('lock_file.lock', 'w');
if (!($lock && flock($lock, LOCK_EX | LOCK_NB))) {
exit('already running');
}
}
Теперь делаем простую вещь: переходим по адресу 111.222.333/test.php тем самым запускаем скрипт, далее он начинает выполняться, тем временем мы открываем новую вкладку и делаем еще один запуск - он УСПЕШНО выполняется без ошибок.
обе вкладки грузятся секунд 30-40 и по завершению загрузки не выдают ошибок, т.е. в обоих случаях скрипт выполнился.
ВОПРОС: Как в итоге запретить повторный запуск скрипта??? Т.е. если скрипт уже выполняет задачу, чтобы даже если мы пытаемся запустить его еще раз он сразу завершал попытку и не грузился 30 секунд.