kislayphp / queue
High-performance C++ PHP extension providing distributed message queuing and job processing for PHP microservices
Package info
Language:Shell
Type:php-ext
Ext name:ext-kislayphp_queue
pkg:composer/kislayphp/queue
0.0.2
2026-03-02 15:30 UTC
Requires
- php: >=8.2
Suggests
- kislayphp/config: Configurable queue settings
- kislayphp/core: HTTP/HTTPS server integration
- kislayphp/discovery: Service-aware job routing
- kislayphp/eventbus: Real-time job notifications
- kislayphp/gateway: Queue-aware API gateway
- kislayphp/metrics: Queue performance metrics
Provides
This package is not auto-updated.
Last update: 2026-03-02 15:40:27 UTC
README
Queue runtime for KislayPHP.
Primary runtime namespace is Kislay\Queue with backward-compatible aliases under KislayPHP\Queue.
Concurrency Mode
- Default API mode is synchronous.
- Calls return concrete values (
bool, payload,int) and do not expose Promise/Fiber APIs. - Optional RPC transport is supported internally when built with stubs, but method semantics remain synchronous.
This module is intentionally sync-first to keep queue processing deterministic in long-lived PHP workers.
Installation
pie install kislayphp/queue:0.0.2
Enable in php.ini:
extension=kislayphp_queue.so
Public API
Kislay\Queue\Queue:
__construct()setClient(Kislay\Queue\ClientInterface $client): boolenqueue(string $queue, mixed $payload): booldequeue(string $queue): mixedpeek(string $queue): mixedsize(string $queue): intclear(string $queue): int
Kislay\Queue\ClientInterface:
enqueue(string $queue, mixed $payload): booldequeue(string $queue): mixedsize(string $queue): int
Legacy aliases:
KislayPHP\Queue\QueueKislayPHP\Queue\ClientInterface
Quick Start
<?php $queue = new Kislay\Queue\Queue(); $queue->enqueue('jobs', ['id' => 1, 'task' => 'send_email']); $queue->enqueue('jobs', ['id' => 2, 'task' => 'reindex']); $next = $queue->dequeue('jobs'); var_dump($next); $remaining = $queue->size('jobs'); var_dump($remaining);
Notes
- Use this extension for in-process queue semantics and adapter integration points.
- If you need event-driven fanout or socket transport, use
kislayphp/eventbus. - For full ecosystem communication guidelines, see
SERVICE_COMMUNICATION.md.