Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Как отправлять почту средствами Laravel 5.x, в документации есть такое. Читал, запутался полностью. Может кто знает лучше статью или уделит немного время и разъяснит что да как?
Что мне нужно:
1. Зарегистрировать очередь отправки почты (php artisan queue:table - в эту таблицу каким то образом оно пишется)
2. Создать задачу отправки почты
3. Отправить ее с помощью cron через какое то время - вопрос только как?
Не в сети
1. https://laravel.ru/docs/v5/queues
2+3. там же, вкупе с https://laravel.ru/docs/v5/mail
Не в сети
Не могу все это связать. Может поможете, в документации не совсем понятно мне.
Может кто то простому смертному объяснить?
Как я понимаю - Логика такова для моей задачи, с таблице users взять несколько определенных пользователей, и добавить их в очередь для отправки почты.
Добавить в очередь это значить добавить в таблицу jobs которая создается php artisan queue:table ?
А в крон нужно считывать с таблицы jobs и отправлять почту?
Или я не так понимаю суть?
Не в сети
А зачем крон подключать?
Можно доверить обработку записи из очереди менеджеру очереди.
Например, запустить демона https://laravel.ru/docs/v5/queues#listener и при добавлении новой задачи менеджер сам разрулит ее выполнение.
Или нужно именно кроном по расписанию?
Не в сети
Да задача стоит чтоб через крон в определенное время отправлять
Не в сети
Да задача стоит чтоб через крон в определенное время отправлять
Как вариант, можно сделать следующий костыль: через крон запускать queue lestener, который обработает очередь и когда задачи будут выполнены, остановит свою работу. Это самый быстрый вариант.
Не в сети
Можно доверить обработку записи из очереди менеджеру очереди.?
Не совсем понял документацию, можете объяснить:
1. Сперва создаем миграцию/таблицу
php artisan queue:table
php artisan migrate
2. создаем php artisan make:job SendReminderEmail --queued класс задач
3. добавляем задачу в очередь $this->dispatch(new SendReminderEmail($user));
4. Запуск слушателя очереди php artisan queue:listen который каким то образом сам все выполняет
Вопрос:
1. логика правильная?
2. У меня есть таблица (Н-м message_users) где выбраны определенные юзеры, которых надо уведомить. Как я понял в
1. Сперва создаем миграцию/таблицу
таблице очереди (jobs) который я создал, должна быть заполнена данными из message_users?
3. Если нужно очеред заполнять, это делается в Классе задач SendReminderEmail ?
4. мне нужно эту команду php artisan queue:listen повесить на крон?
Не в сети
Как вариант можно создать команду https://laravel.ru/docs/v5/artisan#%D0% … 0%B8%D0%BA и положить в планировщик задач https://laravel.ru/docs/v5/scheduling. Что скажут знающие люди о таком подходе? И параллельно вопрос, очереди возможно использовать на обычном хостинге с развернутой ларой без супервизора и тд?
Не в сети