Spec-Zone.ru › Laravel 9

Работник

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

Трейты

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, WorkerOptions|null $options = null)

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

never kill(int $status = 0, WorkerOptions|null $options = null)

Убить процесс.

ИсключениеПревышенияМаксимальногоЧислаПопыток maxAttemptsExceededException(Задача $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 $job, string $connectionName, WorkerOptions $options)

Обработать заданный job.

Parameters

Job $job
string $connectionName
WorkerOptions $options

Return Value

void

protected void stopWorkerIfLostConnection(Throwable $e)

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

Parameters

Throwable $e

Return Value

void

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

Обработать заданный job из очереди.

Parameters

string $connectionName
Job $job
WorkerOptions $options

Return Value

void

Exceptions

Throwable

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

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

Parameters

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

Return Value

void

Exceptions

Throwable

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

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

Вероятно, это произойдет, если job ранее превысил время ожидания.

Parameters

string $connectionName
Job $job
int $maxTries

Return Value

void

Exceptions

Throwable

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

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

Parameters

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

Return Value

void

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

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

Parameters

string $connectionName
Job $job
Throwable $e

Return Value

void

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

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

Parameters

string $connectionName
Job $job
Throwable $e

Return Value

void

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

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

Parameters

Job $job
Throwable $e

Return Value

void

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

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

Parameters

Job $job
WorkerOptions $options

Return Value

int

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

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

Parameters

string $connectionName
Job $job

Return Value

void

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

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

Parameters

string $connectionName
Job $job

Return Value

void

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

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

Параметры

string $connectionName
Job $job
Throwable $e

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

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, WorkerOptions|null $options = null)

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

Параметры

int $status
WorkerOptions|null $options

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

int

never kill(int $status = 0, WorkerOptions|null $options = null)

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

Параметры

int $status
WorkerOptions|null $options

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

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

Factory getManager()

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

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

Factory

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/9.x/Illuminate/Queue/Worker.html

Spec-Zone.ru

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