mkraemer / react-pcntl
PCNTL bindings for ReactPHP
Installs: 284 355
Dependents: 14
Suggesters: 1
Security: 0
Stars: 58
Watchers: 5
Forks: 12
Open Issues: 0
Requires
- php: >=5.4
- ext-pcntl: *
- evenement/evenement: ^3.0 || ^2.0
- react/event-loop: 0.4.*
Requires (Dev)
- phpunit/phpunit: ^4.8
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2024-10-26 14:20:21 UTC
README
Since v0.5 of ReactPHP event-loop offers native support for signal handling.
React-PCNTL
Basic PCNTL bindings for React PHP.
Install
The best way to install this library is through composer:
{ "require": { "mkraemer/react-pcntl": "^3.0.*" } }
This library depends on the PCNTL extension.
Note: version 2 of this library requires PHP >= 5.4. If you are using PHP 5.3, use the 1.0.*
version:
{ "require": { "mkraemer/react-pcntl": "1.0.*" } }
Usage
This library provides the PCNTL class which taskes an event loop and optionally the timer interval in which the PCNTL signals should be read as constructor arguments. After initializing the class, you can use the on() method to register event listeners to PCNTL signals.
$loop = React\EventLoop\Factory::create(); $pcntl = new MKraemer\ReactPCNTL\PCNTL($loop); $pcntl->on(SIGTERM, function () { // Clear some queue // Write syslog // Do ALL the stuff echo 'Bye'.PHP_EOL; die(); }); $pcntl->on(SIGINT, function () { echo 'Terminated by console'.PHP_EOL; die(); }); echo 'Started as PID '.getmypid().PHP_EOL; $loop->run();