Spec-Zone.ru › Laravel 10

Worker

class Worker (View source)

Трейты

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 raiseBeforeJobPopEvent(string $connectionName)

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

void raiseAfterJobPopEvent(string $connectionName, Job|null $job)

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

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 maxAttemptsExceededException(Job $job)

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

TimeoutExceededException timeoutExceededException(Job $job)

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

void sleep(int|float $seconds)

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

$this setCache(Repository $cache)

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

$this setName(string $name)

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

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

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

Factory getManager()

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

void setManager(Factory $manager)

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

Подробности

protected bool causedByLostConnection(Throwable $e)

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

Параметры

Throwable $e

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

bool

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

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

Параметры

Factory $manager
Dispatcher $events
ExceptionHandler $exceptions
callable $isDownForMaintenance
callable $resetScope

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

void

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

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

Параметры

string $connectionName
string $queue
WorkerOptions $options

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

int

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

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

Параметры

Job|null $job
WorkerOptions $options

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

void

protected void resetTimeoutHandler()

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

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

void

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

Получить подходящий таймаут для заданной задачи.

Параметры

Job|null $job
WorkerOptions $options

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

int

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

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

Параметры

WorkerOptions $options
string $connectionName
string $queue

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

bool

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

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

Параметры

WorkerOptions $options
int $lastRestart

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

int|null

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

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

Параметры

WorkerOptions $options
int $lastRestart
int $startTime
int $jobsProcessed
mixed $job

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

int|null

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

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

Параметры

string $connectionName
string $queue
WorkerOptions $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(Исключение $e)

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

Параметры

Исключение $e

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

void

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

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

Параметры

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

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

void

Исключения

Исключение

protected void handleJobException(string $connectionName, Задача $job, ПараметрыРаботника $options, Исключение $e)

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

Параметры

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

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

void

Исключения

Исключение

protected void markJobAsFailedIfAlreadyExceedsMaxAttempts(string $connectionName, Задача $job, int $maxTries)

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

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

Параметры

string $connectionName
Задача $job
int $maxTries

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

void

Исключения

Исключение

protected void markJobAsFailedIfWillExceedMaxAttempts(string $connectionName, Задача $job, int $maxTries, Исключение $e)

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

Параметры

string $connectionName
Задача $job
int $maxTries
Исключение $e

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

void

protected void markJobAsFailedIfWillExceedMaxExceptions(string $connectionName, Задача $job, Исключение $e)

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

Параметры

string $connectionName
Задача $job
Исключение $e

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

void

protected void markJobAsFailedIfItShouldFailOnTimeout(string $connectionName, Задача $job, Исключение $e)

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

Параметры

string $connectionName
Задача $job
Исключение $e

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

void

protected void failJob(Задача $job, Исключение $e)

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

Параметры

Задача $job
Исключение $e

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

void

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

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

Параметры

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

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

int

protected void raiseBeforeJobPopEvent(string $connectionName)

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

Параметры

string $connectionName

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

void

protected void raiseAfterJobPopEvent(string $connectionName, Job|null $job)

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

Параметры

string $connectionName
Job|null $job

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

void

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

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

Параметры

string $connectionName
Job $job

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

void

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

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

Параметры

string $connectionName
Job $job

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

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

protected TimeoutExceededException timeoutExceededException(Job $job)

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

Параметры

Job $job

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

TimeoutExceededException

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

Spec-Zone.ru

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