chelkaz
@chelkaz

События в очереди через database, как правильно организовать?

Я добавил и сгенерировал событие и слушателя:
protected $listen = [
        'App\Events\TestEvent' => [
            'App\Listeners\TestEventListener',
        ],
    ];

Далее в нужном контроллере вызываю его:
event(new TestEvent($data));
Потом отправляю в очередь:
namespace App\Listeners;
use App\Events\TestEvent;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;

class TestEventListener implements ShouldQueue
{
    public function __construct()
    {
        //
    }
    public function handle(TestEvent $event)
    {
        //
    }
}

После вижу, что в таблицу jobs в базе, добавляется queue
Но что дальше? Тут я запутался... Мне нужно что бы когда в контроллере вызывалось событие, происходила отправка на почту переменной из события в очереди. Но в Laravel 5.4 все переделали и я теперь запутался. Распутайте меня примером.
Мне нужно: Событие после регистрации и отправкой письма Юзеру в очереди.
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
Нужно запустить php artisan queue:work что бы выполнялись очереди
Вот тут док.

public function handle(Mailer $mailer)
    {
        $mailer->send('email.welcome', ['data'=>'data'], function ($message) {

            $message->from('nwambachristian@gmail.com', 'Christian Nwmaba');

            $message->to('nwambachristian@gmail.com');

        });
    }


P.S В доке все написано

Job classes are very simple, normally containing only a handle method which is called when the job is processed by the queue.


Job classes очень просты, как правило , содержащие лишь handle метод , который вызывается , когда задание обрабатывается очереди.

Даже с переводчик более-менее понятно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы