Worker
in package
Worker for processing queued jobs.
Polls the queue for jobs and processes them. Supports daemon mode for continuous processing and graceful shutdown on SIGTERM/SIGINT.
Table of Contents
Properties
- $_jobsProcessed : int
- $_maxJobs : int
- $_queueManager : QueueManager
- $_shouldQuit : bool
- $_sleep : int
- $_stopWhenEmpty : bool
- $_timeout : int
Methods
- __construct() : mixed
- getJobsProcessed() : int
- Get number of jobs processed
- getMaxJobs() : int
- Get max jobs
- getSleep() : int
- Get sleep time
- getTimeout() : int
- Get timeout
- run() : void
- Run the worker
- setMaxJobs() : self
- Set maximum number of jobs to process before stopping
- setSleep() : self
- Set sleep time when queue is empty
- setStopWhenEmpty() : self
- Set whether to stop when queue is empty
- setTimeout() : self
- Set job timeout in seconds
- stop() : void
- Stop the worker gracefully
- processNextJob() : bool
- Process the next job from the queue
- registerSignalHandlers() : void
- Register signal handlers for graceful shutdown
Properties
$_jobsProcessed
private
int
$_jobsProcessed
= 0
$_maxJobs
private
int
$_maxJobs
= 0
$_queueManager
private
QueueManager
$_queueManager
$_shouldQuit
private
bool
$_shouldQuit
= false
$_sleep
private
int
$_sleep
= 3
$_stopWhenEmpty
private
bool
$_stopWhenEmpty
= false
$_timeout
private
int
$_timeout
= 60
Methods
__construct()
public
__construct(QueueManager $queueManager) : mixed
Parameters
- $queueManager : QueueManager
getJobsProcessed()
Get number of jobs processed
public
getJobsProcessed() : int
Return values
intgetMaxJobs()
Get max jobs
public
getMaxJobs() : int
Return values
intgetSleep()
Get sleep time
public
getSleep() : int
Return values
intgetTimeout()
Get timeout
public
getTimeout() : int
Return values
intrun()
Run the worker
public
run([string|array<string|int, mixed> $queues = 'default' ][, bool $once = false ]) : void
Parameters
- $queues : string|array<string|int, mixed> = 'default'
-
Queue name(s) to process
- $once : bool = false
-
Process one job then exit
setMaxJobs()
Set maximum number of jobs to process before stopping
public
setMaxJobs(int $maxJobs) : self
Parameters
- $maxJobs : int
Return values
selfsetSleep()
Set sleep time when queue is empty
public
setSleep(int $seconds) : self
Parameters
- $seconds : int
Return values
selfsetStopWhenEmpty()
Set whether to stop when queue is empty
public
setStopWhenEmpty(bool $stop) : self
Parameters
- $stop : bool
Return values
selfsetTimeout()
Set job timeout in seconds
public
setTimeout(int $timeout) : self
Parameters
- $timeout : int
Return values
selfstop()
Stop the worker gracefully
public
stop() : void
processNextJob()
Process the next job from the queue
private
processNextJob(string $queue) : bool
Parameters
- $queue : string
-
Queue name
Return values
bool —True if a job was processed, false if queue was empty
registerSignalHandlers()
Register signal handlers for graceful shutdown
private
registerSignalHandlers() : void