jtrw/posix-signal-handler

Handler for Posix signals

1.0.0 2022-09-21 12:07 UTC

This package is auto-updated.

Last update: 2024-10-21 16:31:35 UTC


README

Phpunit codecov Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

First of all it is necessary for some scripts that work like php process in the background our system. For example queue or workers that run through cron, and working in operation memory full time like demons. Sometimes you need to terminate some php process like this kill -9 pid because you should restart scripts now, and you can have some problem. If you terminate process now, you don't know place where you program break off. Special for this you can use soft kill kill -SIGTERM pid In your code yous should integrate this library For Example:

declare(ticks = 1);

require_once __DIR__."/../vendor/autoload.php";
$signal = new \Jtrw\PosixSignal\SignalHandler();

while (true) {
    $this->doSomething(); //Your Business logic
    $signal->terminate();
}

When our code get signal like SIGTERM, SIGINT, SIGTSTP, SIGTERM, SIGHUP, SIGILL it process your code to logic end, and soft finish your script.

Require

composer require jtrw/posix-signal-handler

Tests

You can run test in docker container. For run docker container you can exec command: make start it command run docker-compose up -d After it, you can run unittest in docker container for it execute make tests