Архив: Laravel: отложенная отсылка мейлов (очереди или ДБ)

Бюджет 67$ / 4000
руб
в месяц
Создан: 6 лет назад
Закрыт
Описание
Нужна помощь в большом Ларавель проекте
Первая задача: чистый Ларавель + ДБ + мелы +crontab

Почтовые сообщения должны уходить только "скопом" в одном мейле каждому пользователю из списка.
cron раз в 5 мин 

Система во время работы кидает в ДБ мейлы с идентификатором получателя .... и может их кидать достаточно много. 
Чтобы сайт не закрыли за спамерство надо мейлы "склеивать" и отсылать не чаще чем раз в 10 мин. (не отсылая дубликаты). 

Вкратце:
* class User
1  id 
2 email 
3 name

* class RecipientsBlock {set of Users; UniqueId} 
1  id         int
2  recipients_hash Index varchar(32)  utf8_bin
3  recipients_to  {список userIDs}
4  recipients_cc  {список userIDs}
5  recipients_bcc  {список userIDs}
6  when_added  datetime

* class MailTemplate /"ссыль" на реальный почтовый шаблон Ларавеля, их надо штук 20 позже "нарисовать"/ 
1 id  int
2 template_link ??? 
3 fields_used_in_template json { список полей }

* каждый мейл-блок в момент создания сохраняется в ДБ (очереди)
1 id                            Primary  int
2 timeout_to_send_at    datetime  ; время – таймаут (NOW+3мин)
3 sent_at                        datetime  ; время, когда реально послано
4 recipients_id  int(32)    FK to email addresses Tbl 
5 mailTemplateId  tinyint(2) /шаблонов около 20/
6 data  json   – хранит все данные для мейла

ЮзКейс:
1- приходит человек и делает некую работу. 
2- по окончанию работы всем подписанным на уведомления "шлются" мейлы. На самом деле они не шлются а сохраняются в ДБ (или очереди).

3. Cron раз в 5 мин запускает процедуру проверки – есть ли новые мейлы на отсылку ТЕМ ЖЕ САМЫМ  RecipientsBlocks с тем же ID
 
3.1 Если есть (т.е. человек уже наклепал ещё работы), то таймаут отсылки тех мейлов, что уже в ДБ – откладывается... и система ждёт пока человек закончит всю работу.
То есть, в системе может храниться хоть десяток сообщений пока их не отправит система

3.2 Если более мейлов в очереди нет, а таймаут истёк – надо мейлы 
а) собрать в 1 большой и реальный мейл 
б) применить шаблон
в) послать

У меня основной затык, в общем то, как собрать и отослать т.е. как сделать шаблоны Ларавель так, чтобы их можно было собрать вместе и послать одним мейлом.
... наверное, можно это и не через Ларавелевские шаблоны :)
Категория

Похожие проекты

 
0 0
Нужна разработка сайта (проектирование, дизайн, программирование,тестирование) на CMS «1С-Битрикс», интеграция с системой управления контентом, развертывание и настройка на сервере Заказчика, гарантийная поддержка в течение 3 месяцев. Обращаю ваше внимание, на то что в ТЗ указан способ предоставления......
safe 
0 0
Ищем специалиста, который имеет опыт в разработке мобильных приложений с использованием фреймворка Expo. В целом задача будет заключаться в отладке сервиса сбора геоданных пользователей внутри приложения, созданного на Expo. Также необходимо проработать функциональность трекинга геолокации пользователя......
safe 
0 0
Сайт для просмотра специализированной БД База данных 10000 строк Необходимо: Сохранить структуру и функциональность существующего сайта. Заменить БД на актуальную. Создать инструмент для импорта обновленной БД из файла вручную. Внести корректировки в работу с базой данных (защита от скачивания, пагинация......
7 месяцев назад
$143
0 3
Oпpocы (1010pyб/чaс) Заходитe на сaйт: gonsù....
11 месяцев назад
$71
0 3
Всем привет! Необходимо разработать лендинг на платформе Salebot. Лендинг будет в стиле визитка для кофейни. Интересует именно данная платформа, так как многие мои услуги сделаны именно там....
safe 
0 3
Ищу клиента для создания учебного проекта и оформления портфолио бесплатно или за символическую сумму....
safe$500
0 10
Мы ищем fullstack разработчика, который может сделать сайт под ключ. Есть детальное ТЗ, обязатедбное к ознакомлению и наработки по дизайну в виде макета Figma....
safe$120
0 7
Должно быть у исполнителя готовое и грамотно сделанное портфолио....
1 год назад
safe 
11 5
Нужен сайт по открытию кейсов для игры Standoff 2. Нужен самый обычный дизайн. Личный кабинет, инвентарь, авторизация через ВК. В Админке должна быть возможность создавать/удалять кейсы, редактировать шансы на выпадение какого-либо дропа, количество кейсов, устанавливать цену. В Админке должна быть возможность......
1 год назад
 
0 9
Требуется веб дизайнер для  2х проектов:. Оптимизации существующего сайта (лендинг) по танцевальному фитнесу на wix. com. Создание онлайн магазина био добавок и его оптимизация.   Ищем профессионального дизайнера, который готов на долгосрочное сотрудничество....
 
0 4
Нужно сделать сайт просчет оффера. Верстка страницы с Figma....
1 год назад
$33
10 2
Мне нужен бот перехватчик для программы ( taxsee driver ) чтобы брать предварительные и текущие заказы. Требования: . 1 бот перехватчик нужен для android. 2 можно писать bоt под моим аккаунтом или другие варианты. 3 функция отключения и включения бота когда он нужен или не нужен. За хорошую работу готов......
1 год назад
 
76 2
Ищу фрилансера для создания лендингов на Битрикс24. Занятость постоянная, 1 раз в 3 месяца....
1 год назад
safe 
498 13
Необходимо написать небольшую серверную часть учебного сайта для запуска под виртуальной машиной Oracle VM VirtualBox  Debian 6. 1 используя php7. 33 и базу MongoDB....
safe 
134 8
ИЩУ СПЕЦОВ – ВЫСОКОГО УРОВНЯ!   1). Уточните, какое у вас образование. 2). Обязательно предоставьте портфолио - лучшие работы. 3). Условия сотрудничества – по договоренности (сообщите ваши предварительные условия).   П. все предложения, которые меня заинтересуют – либо отвечу, либо сохраню контакты в......
1 год назад
 
89 1
Нужно будет делать видео по примеру уже готового видео. Вы подойдете если : имеете базовые-легкие знания в трейдинге,если у вас хороший микрофон, нормальная дикция, и есть программа для снятия экрана на видео. (Себя снимать не нужно,только видео экрана) Чем выше качество тем выше оплата . Оплата за среднее......
safe$111
122 3
Добрый день заинтересовавшимся! У нас сайт на стадии разработки на ОС 3. Создано ТЗ. Необходимо выполнить все пункты в ТЗ. Предварительно 10 000 руб. Поднятие цены можно и обсудить....
Смотреть все