Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.06.2016 13:37:53

Как отправлять почту средствами Laravel используя cron?

Как отправлять почту средствами Laravel 5.x, в документации есть такое. Читал, запутался полностью. Может кто знает лучше статью или уделит немного время и разъяснит что да как?
Что мне нужно:
1. Зарегистрировать очередь отправки почты (php artisan queue:table - в эту таблицу каким то образом оно пишется)
2. Создать задачу отправки почты
3. Отправить ее с помощью cron через какое то время - вопрос только как?

Не в сети

#2 29.06.2016 13:50:48

Re: Как отправлять почту средствами Laravel используя cron?

Не в сети

#3 06.07.2016 14:24:20

Re: Как отправлять почту средствами Laravel используя cron?

Не могу все это связать. Может поможете, в документации не совсем понятно мне.
Может кто то простому смертному объяснить?
Как я понимаю - Логика такова для моей задачи, с таблице users взять несколько определенных пользователей, и добавить их в очередь для отправки почты.
Добавить в очередь это значить добавить в таблицу jobs которая создается php artisan queue:table ?
А в крон нужно считывать с таблицы jobs и отправлять почту?
Или я не так понимаю суть?

Не в сети

#4 06.07.2016 23:10:21

Re: Как отправлять почту средствами Laravel используя cron?

А зачем крон подключать?
Можно доверить обработку записи из очереди менеджеру очереди.
Например, запустить демона https://laravel.ru/docs/v5/queues#listener и при добавлении новой задачи менеджер сам разрулит ее выполнение.

Или нужно именно кроном по расписанию?

Не в сети

#5 07.07.2016 06:32:10

Re: Как отправлять почту средствами Laravel используя cron?

Да задача стоит чтоб через крон в определенное время отправлять

Не в сети

#6 08.07.2016 22:20:35

Re: Как отправлять почту средствами Laravel используя cron?

Sawa4 пишет:

Да задача стоит чтоб через крон в определенное время отправлять

Как вариант, можно сделать следующий костыль: через крон запускать queue lestener, который обработает очередь и когда задачи будут выполнены, остановит свою работу. Это самый быстрый вариант.

Не в сети

#7 09.07.2016 10:04:12

гость15

Re: Как отправлять почту средствами Laravel используя cron?

#8 13.07.2016 09:18:59

Re: Как отправлять почту средствами Laravel используя cron?

Elelas пишет:

Можно доверить обработку записи из очереди менеджеру очереди.?

Не совсем понял документацию, можете объяснить:
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) где выбраны определенные юзеры, которых надо уведомить. Как я понял в

Sawa4 пишет:

1. Сперва создаем миграцию/таблицу

таблице очереди (jobs) который я создал, должна быть заполнена данными из message_users?
3. Если нужно очеред заполнять, это делается в Классе задач SendReminderEmail ?
4. мне нужно эту команду  php artisan queue:listen повесить на крон?

Не в сети

#9 14.07.2016 23:52:12

Re: Как отправлять почту средствами Laravel используя cron?

Как вариант можно создать команду https://laravel.ru/docs/v5/artisan#%D0% … 0%B8%D0%BA и положить в планировщик задач https://laravel.ru/docs/v5/scheduling. Что скажут знающие люди о таком подходе? И параллельно вопрос, очереди возможно использовать на обычном хостинге с развернутой ларой без супервизора и тд?

Не в сети

Подвал раздела