Как пометить / установить задание как невыполненное?
Я использую функцию закрытия для отправки задания, которое вызывает внешний API, и я бы хотел установить вручную, если задание выполнено успешно или неуспешно, на основе ответа API.
Вот мой код, я использую простой пример вместо вызовов API.
public function sendSMS( $numbers ) {
dispatch(function () use ( $numbers ) {
$this->smsProcess($numbers, $this->note->content);
});
}
public function smsProcess( $numbers, $message ) {
$int = random_int( 1, 10 ) * random_int( 1, 10 );
if ( $int < 50 ) {
throw ValidationException::withMessages('Less than 50')->status(403);
} else {
throw ValidationException::withMessages('Greater than 50')->status(403);
}
}
Когда запускается функция sendSMS
, я вижу ожидающее задание для smsProcess
Но когда Я запускаю queue:work
задание, которое Processed
выполняется и не дает сбоя,
Так как вручную запустить задание как неудачное?
Если я добавлю код ошибки на smsProcess
, я вижу, что задание помечено как Failed
Из-за php ошибка