jtrw / posix-signal-handler
Handler for Posix signals
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:Makefile
Requires
- php: >=7.4
- ext-pcntl: *
- ext-posix: *
Requires (Dev)
- phpunit/phpunit: >=8.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-10-21 16:31:35 UTC
README
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