PHP code example of hellpers / locker

1. Go to this page and download the library: Download hellpers/locker library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hellpers / locker example snippets


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');