class WaitTimeCalculator

Methods

__construct(Factory $queue, SupervisorRepository $supervisors, MetricsRepository $metrics)

Create a new calculator instance.

float
calculateFor(string $queue)

Calculate the time to clear a given queue in seconds.

float
calculateForQueueName(string $queue)

Calculate the longest time to clear in seconds for the pools processing a queue name.

array
calculate(string|null $queue = null)

Calculate the time to clear per queue in seconds.

queueNames(Collection $supervisors, string|null $queue = null)

Get all of the queue names.

int
totalProcessesFor(Collection $allSupervisors, string $queue)

Get the total process count for a given queue.

float
calculateTimeToClear(string $connection, string $queue, int $totalProcesses)

Calculate the time to clear for the given queue in seconds distributed over the given amount of processes.

float
timeToClearFor(string $connection, string $queue)

Get the total time to clear (in milliseconds) for a given queue.

Details

at line 18
__construct(Factory $queue, SupervisorRepository $supervisors, MetricsRepository $metrics)

Create a new calculator instance.

Parameters

Factory $queue
SupervisorRepository $supervisors
MetricsRepository $metrics

at line 28
float calculateFor(string $queue)

Calculate the time to clear a given queue in seconds.

Parameters

string $queue

Return Value

float

at line 38
float calculateForQueueName(string $queue)

Calculate the longest time to clear in seconds for the pools processing a queue name.

Metrics identify queues by name alone, so the pools may be on any connection and may process several queues.

Parameters

string $queue

Return Value

float

at line 59
array calculate(string|null $queue = null)

Calculate the time to clear per queue in seconds.

Parameters

string|null $queue

Return Value

array

at line 78
protected Collection queueNames(Collection $supervisors, string|null $queue = null)

Get all of the queue names.

Parameters

Collection $supervisors
string|null $queue

Return Value

Collection

at line 92
protected int totalProcessesFor(Collection $allSupervisors, string $queue)

Get the total process count for a given queue.

Parameters

Collection $allSupervisors
string $queue

Return Value

int

at line 102
float calculateTimeToClear(string $connection, string $queue, int $totalProcesses)

Calculate the time to clear for the given queue in seconds distributed over the given amount of processes.

Parameters

string $connection
string $queue
int $totalProcesses

Return Value

float

at line 118
protected float timeToClearFor(string $connection, string $queue)

Get the total time to clear (in milliseconds) for a given queue.

Parameters

string $connection
string $queue

Return Value

float