Spec-Zone.ru › Laravel 8

Рабочий процесс

класс Worker (Просмотреть исходный код)

Трейты

DetectsLostConnections

Константы

EXIT_SUCCESS
EXIT_ERROR
EXIT_MEMORY_LIMIT

Свойства

protected string $name

Имя рабочего процесса.

protected Factory $manager

Экземпляр менеджера очередей.

protected Dispatcher $events

Экземпляр диспетчера событий.

protected Repository $cache

Реализация репозитория кэша.

protected ExceptionHandler $exceptions

Экземпляр обработчика исключений.

protected callable $isDownForMaintenance

Обратный вызов для определения, находится ли приложение в режиме технического обслуживания.

protected callable $resetScope

Обратный вызов для сброса области применения приложения.

bool $shouldQuit

Указывает, должен ли рабочий процесс завершиться.

bool $paused

Указывает, приостановлен ли рабочий процесс.

static protected callable[] $popCallbacks

Обратные вызовы для извлечения задач из очередей.

Методы

bool causedByLostConnection(Throwable $e)

Определить, было ли вызвано данное исключение потерей соединения.

из DetectsLostConnections
void __construct(Factory $manager, Dispatcher $events, ExceptionHandler $exceptions, callable $isDownForMaintenance, callable $resetScope = null)

Создать новый рабочий процесс очереди.

int daemon(string $connectionName, string $queue, WorkerOptions $options)

Прослушивать заданную очередь в цикле.

void registerTimeoutHandler(Job|null $job, WorkerOptions $options)

Зарегистрировать обработчик тайм-аута рабочего процесса.

void resetTimeoutHandler()

Сбросить обработчик тайм-аута рабочего процесса.

int timeoutForJob(Job|null $job, WorkerOptions $options)

Получить соответствующий тайм-аут для данной задачи.

bool daemonShouldRun(WorkerOptions $options, string $connectionName, string $queue)

Определить, должен ли демон обрабатывать на этой итерации.

int|null pauseWorker(WorkerOptions $options, int $lastRestart)

Приостановить работу процесса на текущей итерации.

int|null stopIfNecessary(WorkerOptions $options, int $lastRestart, int $startTime = 0, int $jobsProcessed = 0, mixed $job = null)

Определить код выхода для остановки процесса, если необходимо.

void runNextJob(string $connectionName, string $queue, WorkerOptions $options)

Обработать следующую задачу в очереди.

Job|null getNextJob(Queue $connection, string $queue)

Получить следующую задачу из соединения очереди.

void runJob(Job $job, string $connectionName, WorkerOptions $options)

Обработать заданную задачу.

void stopWorkerIfLostConnection(Throwable $e)

Остановить рабочий процесс, если потеряно соединение с базой данных.

void process(string $connectionName, Job $job, WorkerOptions $options)

Обработать заданную задачу из очереди.

void handleJobException(string $connectionName, Job $job, WorkerOptions $options, Throwable $e)

Обработать исключение, возникшее во время выполнения задачи.

void markJobAsFailedIfAlreadyExceedsMaxAttempts(string $connectionName, Job $job, int $maxTries)

Отметить заданную задачу как неудачную, если она превысила максимально допустимое количество попыток.

void markJobAsFailedIfWillExceedMaxAttempts(string $connectionName, Job $job, int $maxTries, Throwable $e)

Отметить заданную задачу как неудачную, если она превысила максимально допустимое количество попыток.

void markJobAsFailedIfWillExceedMaxExceptions(string $connectionName, Job $job, Throwable $e)

Отметить заданную задачу как неудачную, если она превысила максимально допустимое количество попыток.

void markJobAsFailedIfItShouldFailOnTimeout(string $connectionName, Job $job, Throwable $e)

Отметить заданную задачу как неудачную, если она должна завершиться неудачей по тайм-ауту.

void failJob(Job $job, Throwable $e)

Отметить заданную задачу как неудачную и поднять соответствующее событие.

int calculateBackoff(Job $job, WorkerOptions $options)

Вычислить отложенный запуск для данной задачи.

void raiseBeforeJobEvent(string $connectionName, Job $job)

Поднять событие перед выполнением задачи очереди.

void raiseAfterJobEvent(string $connectionName, Job $job)

Поднять событие после выполнения задачи очереди.

void raiseExceptionOccurredJobEvent(string $connectionName, Job $job, Throwable $e)

Поднять событие о возникновении исключения в задаче очереди.

bool queueShouldRestart(int|null $lastRestart)

Определить, должен ли перезапускаться рабочий процесс очереди.

int|null getTimestampOfLastQueueRestart()

Получить метку времени последнего перезапуска очереди или null.

void listenForSignals()

Включить асинхронные сигналы для процесса.

bool supportsAsyncSignals()

Определить, поддерживаются ли "асинхронные" сигналы.

bool memoryExceeded(int $memoryLimit)

Определить, был ли превышен лимит памяти.

int stop(int $status = 0)

Остановить прослушивание и завершить выполнение скрипта.

never kill(int $status = 0)

Завершить процесс.

MaxAttemptsExceededException maxAttemptsExceededException(Job $job)

Создать экземпляр MaxAttemptsExceededException.

void sleep(int|float $seconds)

Приостановить выполнение скрипта на заданное количество секунд.

$this setCache(Репозиторий $cache)

Установить реализацию репозитория кэша.

$this setName(string $name)

Установить имя работника.

static void popUsing(string $workerName, callable $callback)

Зарегистрировать обратный вызов для выбора задач.

Управляющий очереди getManager()

Получить экземпляр управляющего очереди.

void setManager(Фабрика $manager)

Установить экземпляр управляющего очереди.

Подробности

protected bool causedByLostConnection(Throwable $e)

Определить, вызвало ли данное исключение потерю соединения.

Параметры

Throwable $e

Возвращаемое значение

bool

void __construct(Фабрика $manager, Диспечер $events, Обработчик исключений $exceptions, callable $isDownForMaintenance, callable $resetScope = null)

Создать нового работника очереди.

Параметры

Фабрика $manager
Диспечер $events
Обработчик исключений $exceptions
callable $isDownForMaintenance
callable $resetScope

Возвращаемое значение

void

int daemon(string $connectionName, string $queue, ПараметрыРаботника $options)

Прослушивать заданную очередь в цикле.

Параметры

string $connectionName
string $queue
ПараметрыРаботника $options

Возвращаемое значение

int

protected void registerTimeoutHandler(Задача|null $job, ПараметрыРаботника $options)

Зарегистрировать обработчик таймаута работника.

Параметры

Задача|null $job
ПараметрыРаботника $options

Возвращаемое значение

void

protected void resetTimeoutHandler()

Сбросить обработчик таймаута работника.

Возвращаемое значение

void

protected int timeoutForJob(Задача|null $job, ПараметрыРаботника $options)

Получить соответствующий таймаут для данной задачи.

Параметры

Задача|null $job
ПараметрыРаботника $options

Возвращаемое значение

int

protected bool daemonShouldRun(ПараметрыРаботника $options, string $connectionName, string $queue)

Определить, должен ли демонический процесс обрабатывать на этой итерации.

Параметры

ПараметрыРаботника $options
string $connectionName
string $queue

Возвращаемое значение

bool

protected int|null pauseWorker(ПараметрыРаботника $options, int $lastRestart)

Приостановить работника для текущего цикла.

Параметры

ПараметрыРаботника $options
int $lastRestart

Возвращаемое значение

int|null

protected int|null stopIfNecessary(ПараметрыРаботника $options, int $lastRestart, int $startTime = 0, int $jobsProcessed = 0, mixed $job = null)

Определить код выхода для остановки процесса, если это необходимо.

Параметры

ПараметрыРаботника $options
int $lastRestart
int $startTime
int $jobsProcessed
mixed $job

Возвращаемое значение

int|null

void runNextJob(string $connectionName, string $queue, ПараметрыРаботника $options)

Обработать следующую задачу в очереди.

Параметры

string $connectionName
string $queue
ПараметрыРаботника $options

Возвращаемое значение

void

protected Задача|null getNextJob(Очередь $connection, string $queue)

Получить следующую задачу из соединения очереди.

Параметры

Очередь $connection
string $queue

Возвращаемое значение

Задача|null

protected void runJob(Задача $job, string $connectionName, ПараметрыРаботника $options)

Обработать заданную задачу.

Параметры

Задача $job
string $connectionName
ПараметрыРаботника $options

Возвращаемое значение

void

protected void stopWorkerIfLostConnection(Throwable $e)

Прекратить работу обработчика, если соединение с базой данных утеряно.

Parameters

Throwable $e

Return Value

void

void process(string $connectionName, Job $job, WorkerOptions $options)

Обработать задачу из очереди.

Parameters

string $connectionName
Job $job
WorkerOptions $options

Return Value

void

Exceptions

Throwable

protected void handleJobException(string $connectionName, Job $job, WorkerOptions $options, Throwable $e)

Обработать исключение, возникшее во время выполнения задачи.

Parameters

string $connectionName
Job $job
WorkerOptions $options
Throwable $e

Return Value

void

Exceptions

Throwable

protected void markJobAsFailedIfAlreadyExceedsMaxAttempts(string $connectionName, Job $job, int $maxTries)

Отметить задачу как завершенную с ошибкой, если количество попыток превысило максимальное.

Вероятно, это произойдет из-за превышения времени ожидания задачи ранее.

Parameters

string $connectionName
Job $job
int $maxTries

Return Value

void

Exceptions

Throwable

protected void markJobAsFailedIfWillExceedMaxAttempts(string $connectionName, Job $job, int $maxTries, Throwable $e)

Отметить задачу как завершенную с ошибкой, если количество попыток превысит максимальное.

Parameters

string $connectionName
Job $job
int $maxTries
Throwable $e

Return Value

void

protected void markJobAsFailedIfWillExceedMaxExceptions(string $connectionName, Job $job, Throwable $e)

Отметить задачу как завершенную с ошибкой, если количество исключений превысило максимальное.

Parameters

string $connectionName
Job $job
Throwable $e

Return Value

void

protected void markJobAsFailedIfItShouldFailOnTimeout(string $connectionName, Job $job, Throwable $e)

Отметить задачу как завершенную с ошибкой, если она должна завершаться с ошибкой при превышении времени ожидания.

Parameters

string $connectionName
Job $job
Throwable $e

Return Value

void

protected void failJob(Job $job, Throwable $e)

Отметить задачу как завершенную с ошибкой и вызвать соответствующее событие.

Parameters

Job $job
Throwable $e

Return Value

void

protected int calculateBackoff(Job $job, WorkerOptions $options)

Вычислить время ожидания для заданной задачи.

Parameters

Job $job
WorkerOptions $options

Return Value

int

protected void raiseBeforeJobEvent(string $connectionName, Job $job)

Вызвать событие перед выполнением задачи в очереди.

Parameters

string $connectionName
Job $job

Return Value

void

protected void raiseAfterJobEvent(string $connectionName, Job $job)

Вызвать событие после выполнения задачи в очереди.

Parameters

string $connectionName
Job $job

Return Value

void

protected void raiseExceptionOccurredJobEvent(string $connectionName, Job $job, Throwable $e)

Вызвать событие об ошибке, возникшей во время выполнения задачи в очереди.

Parameters

string $connectionName
Job $job
Throwable $e

Return Value

void

protected bool queueShouldRestart(int|null $lastRestart)

Определить, следует ли перезапустить обработчик очереди.

Параметры

int|null $lastRestart

Возвращаемое значение

bool

protected int|null getTimestampOfLastQueueRestart()

Получить временную метку последнего перезапуска очереди или null.

Возвращаемое значение

int|null

protected void listenForSignals()

Включить асинхронные сигналы для процесса.

Возвращаемое значение

void

protected bool supportsAsyncSignals()

Определить, поддерживаются ли асинхронные сигналы.

Возвращаемое значение

bool

bool memoryExceeded(int $memoryLimit)

Определить, превышен ли лимит памяти.

Параметры

int $memoryLimit

Возвращаемое значение

bool

int stop(int $status = 0)

Остановить прослушивание и прервать выполнение скрипта.

Параметры

int $status

Возвращаемое значение

int

never kill(int $status = 0)

Завершить процесс.

Параметры

int $status

Возвращаемое значение

never

protected MaxAttemptsExceededException maxAttemptsExceededException(Job $job)

Создать экземпляр MaxAttemptsExceededException.

Параметры

Job $job

Возвращаемое значение

MaxAttemptsExceededException

void sleep(int|float $seconds)

Приостановить выполнение скрипта на заданное количество секунд.

Параметры

int|float $seconds

Возвращаемое значение

void

$this setCache(Repository $cache)

Установить реализацию репозитория кэша.

Параметры

Repository $cache

Возвращаемое значение

$this

$this setName(string $name)

Установить имя обработчика.

Параметры

string $name

Возвращаемое значение

$this

static void popUsing(string $workerName, callable $callback)

Зарегистрировать обратный вызов для выбора задач.

Параметры

string $workerName
callable $callback

Возвращаемое значение

void

QueueManager getManager()

Получить экземпляр менеджера очереди.

Возвращаемое значение

QueueManager

void setManager(Factory $manager)

Установить экземпляр менеджера очереди.

Параметры

Factory $manager

Возвращаемое значение

void

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Queue/Worker.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API