envoylope / pcntl
Installs: 1 709
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=8.1
- ext-pcntl: *
- asmblah/php-amqp-compat: ^0.4
Requires (Dev)
- hollodotme/fast-cgi-client: ^3.1
- mockery/mockery: ^1.6
- 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)