envoylope / pcntl
v0.1.1
2025-01-31 18:33 UTC
Requires
- php: >=8.1
- ext-pcntl: *
- asmblah/php-amqp-compat: ^0.4
Requires (Dev)
- hollodotme/fast-cgi-client: ^3.1
- mockery/mockery: 1.6.11
- phpstan/phpstan: ^1.10
- phpstan/phpstan-mockery: ^1.1
- phpunit/phpunit: ^10.2
- tasque/event-loop: ^0.1
- tasque/tasque: ^0.1
README
Transmits AMQP heartbeats for Envoylope using SIGALRM UNIX System V signals via ext-pcntl.
Why?
php-amqp/librabbitmq does not fully support AMQP heartbeats, they are only supported during blocking calls into the extension.
With php-amqplib, we're able to send heartbeats more regularly, using UNIX System V signals.
This library provides its own signal-based heartbeat sender, using pcntl_async_signals(...)
to allow for more frequent heartbeat handling, based on the logic in php-amqplib's sender implementation.
Note that the php-fpm SAPI is not supported by this scheduler, as it does not support the ext-pcntl PHP extension.
If you are using php-fpm, see Envoylope EventLoop.
Usage
Install with Composer alongside php-amqp-compat:
$ composer require asmblah/php-amqp-compat $ composer require envoylope/pcntl
Configuring the bundle
(TODO)