Laravel 5.5: как получить ошибочный идентификатор задания и связать его со связанным объектом? - PullRequest
0 голосов
/ 01 мая 2018

В Laravel 5.5 я создал задание в виде очереди:

class EmailJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    private $emailModel;

    /**
    * Create a new job instance.
    *
    * @return void
    */
    public function __construct(MyEmail $emailModel)
    {
        //
        $this->emailModel = $emailModel;
    }

    // ...
}
  • MyEmail - модель для хранения данных электронной почты.
  • Я использую database драйвер в очереди.

Теперь я хочу перехватить сбойное задание (в таблице failed_jobs) и связать их со связанным объектом MyEmail (например, сохранить в атрибуте failed_job_id), а затем мое приложение может вручную повторить попытку электронная почта провалилась. Как мне этого добиться?


У меня есть обходной подход, при котором я собираю все сбойные задания через таблицу failed_jobs и проверяю полезную нагрузку один за другим, определяю, есть ли у объекта MyEmail требуемый id. но я не думаю, что это эффективно.

...