hellpers / locker
Предотвращает повторный запуск скрипта
1.0.2
2019-05-31 16:21 UTC
Requires
- php: >=7.3.0
This package is auto-updated.
Last update: 2025-04-29 01:14:18 UTC
README
hellpers/locker - Предотвращает повторный запуск скрипта.
Установка:
composer require hellpers/locker
Пример:
use Hellpers\Locker; /* |------------------------------------------------------------------------------ | Установка локера |------------------------------------------------------------------------------ | | Блокировка на повторный запуск скрипта осуществляется в одну строчку. Метод | Locker::set() принимает 5 необязательных параметра: | | 1. (string) Абсолютный путь к папке для хранения lock-файла (по умолчанию | будет выбрат каталог исполняемого файла); | 2. (string) Имя для lock-файла (по умолчанию лок файл получит название | исполняемого файла с расширением lock); | 3. (bool) Что делать при повторном запуске скрипта: обрывать выполнение по | exit() или бросать Exception() (по умолчанию - exit(), т.е. false); | 4. (bool) Записывать id процесса в lock-файл (только для unix-подобных ОС) (по | умолчанию - true); | 5. (bool) Обрабатывать сигналы - да/нет, true/false (только для unix-подобных | ОС). Необходимо для того, чтобы lock-файл удалялся, когда скрипт убивается | извне. Будет правильно работать только если в начале кода указать | declare(ticks = 1) (по умолчанию - false); | | Метод ничего не возвращает. | */ declare(ticks = 1); Locker::set(__DIR__, 'test.lock', false, true, true); /* ========================================================================== */ /* |------------------------------------------------------------------------------ | Killer для запущенного процесса (только для unix-подобных ОС) |------------------------------------------------------------------------------ | | Если локер был установлен с разрешением на запись идентификатора процесса в | локирующий файл, тогда запущенный процесс можно убить методом Locker::kill(), | передав в него абсолютный путь к lock-файлу. | | Возаращает true, если удалось убить процесс и false - если не удалось. | */ Locker::kill(__DIR__ . DIRECTORY_SEPARATOR . 'test.lock');