Neuron-PHP

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

$_shouldQuit

private bool $_shouldQuit = false

$_stopWhenEmpty

private bool $_stopWhenEmpty = false

$_timeout

private int $_timeout = 60

Methods

getJobsProcessed()

Get number of jobs processed

public getJobsProcessed() : int
Return values
int

getMaxJobs()

Get max jobs

public getMaxJobs() : int
Return values
int

getSleep()

Get sleep time

public getSleep() : int
Return values
int

getTimeout()

Get timeout

public getTimeout() : int
Return values
int

run()

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
self

setSleep()

Set sleep time when queue is empty

public setSleep(int $seconds) : self
Parameters
$seconds : int
Return values
self

setStopWhenEmpty()

Set whether to stop when queue is empty

public setStopWhenEmpty(bool $stop) : self
Parameters
$stop : bool
Return values
self

setTimeout()

Set job timeout in seconds

public setTimeout(int $timeout) : self
Parameters
$timeout : int
Return values
self

stop()

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

        
On this page

Search results