Skip to content

PollableQueueDriverInterface

A queue driver with a persistent backlog that an out-of-process worker (queue:work, see QueueWorker) can poll.

Implemented by quioteframework/queue-db’s DbQueueDriver, deliberately not by SyncQueueDriver (nothing to poll).

interface PollableQueueDriverInterface extends QueueDriverInterface

ImplementsQueueDriverInterface
Implemented byDbQueueDriver, RedisQueueDriver
SourcePollableQueueDriverInterface.php
MethodDescription
ack(ReservedJob $job): voidMark a reserved job as successfully processed; removes it permanently.
discard(ReservedJob $job): voidRemove a reserved job permanently after retries are exhausted.
release(ReservedJob $job, int $delaySeconds): voidReturn a reserved job to the backlog, available again after $delaySeconds.
reserve(): ?ReservedJobClaim and return the next due job, or null if the queue is empty.

abstract public function ack(ReservedJob $job): void

Mark a reserved job as successfully processed; removes it permanently.

ParameterTypeDescription
$jobReservedJob

abstract public function discard(ReservedJob $job): void

Remove a reserved job permanently after retries are exhausted.

Dead-letter recording itself already happened via FailedJobStoreInterface inside JobExecutor — this only stops the driver from serving it again.

ParameterTypeDescription
$jobReservedJob

abstract public function release(ReservedJob $job, int $delaySeconds): void

Return a reserved job to the backlog, available again after $delaySeconds.

ParameterTypeDescription
$jobReservedJob
$delaySecondsint

abstract public function reserve(): ?ReservedJob

Claim and return the next due job, or null if the queue is empty.

Returns ?ReservedJob

These come from an ancestor and are documented where they are declared.

MethodDeclared inDescription
push()QueueDriverInterfaceHands a job off to the driver’s backend.