ThreadQueueTransport
in package
implements
WorkerTransport
FinalYes
Tags
Table of Contents
Interfaces
Methods
- __construct() : mixed
- close() : void
- Close the transport and release resources.
- isStopped() : bool
- Whether stop() has been called on this transport.
- listen() : void
- Register a listener for incoming envelopes.
- send() : void
- Send an envelope to the target worker.
- stop() : void
- Signal the transport to stop. The receive loop exits cooperatively on its next backoff wakeup (within ~10ms in the worst case).
Methods
__construct()
public
__construct(array<int, Queue> $queues, int $workerId) : mixed
Parameters
- $queues : array<int, Queue>
-
All workers' queues, keyed by worker ID
- $workerId : int
close()
Close the transport and release resources.
public
close() : void
isStopped()
Whether stop() has been called on this transport.
public
isStopped() : bool
Return values
boollisten()
Register a listener for incoming envelopes.
public
listen(callable $onEnvelope) : void
Parameters
- $onEnvelope : callable
send()
Send an envelope to the target worker.
public
send(int $targetWorker, Envelope $envelope) : void
Parameters
- $targetWorker : int
- $envelope : Envelope
stop()
Signal the transport to stop. The receive loop exits cooperatively on its next backoff wakeup (within ~10ms in the worst case).
public
stop() : void
Idempotent — calling stop() on an already-stopped transport is a no-op.
Required for graceful shutdown: without stop(), the receive loop blocks indefinitely and the worker cannot exit cleanly.