Test project - sending emails
Написать на Python небольшой сервис отправки имейл рассылок. Возможности сервиса:
- Отправка рассылок с использованием html макета и списка подписчиков.
- Отправка отложенных рассылок.
- Использование переменных в макете рассылки. (Пример: имя, фамилия, день рождения из списка подписчиков)
- Отслеживание открытий писем. Отложенные отправки реализовать при помощи Celery.
$ docker-compose -f docker-compose.dev.yml up -d --build
$ docker exec -it <id container or name> bash
$ docker exec -it <id container or name> poetry run <command>
$ docker exec -it backend python manage.py dumpdata --natural-foreign --natural-primary --exclude=contenttypes --exclude=auth.Permission --exclude=admin.logentry --exclude=sessions.session --indent 4 > default_data.json
$ python manage.py loaddata default_data.json
- Подразумевается что загружаемые данные подписчиков(Followers) относятся только к одной группе(FollowerGroup) для рассылки.
- Допускается Загрузка списка подписчиков без проверок на наличие в бд - bulk_create. Если делать проверку(не засорять бд), то необходимо ставить поле M2M в FollowerGroup вместо FK в Followers, переписывать bulk_create
- Распотрошил инлайн пагинатор, переписал на python2
- Создал генератор csv на 500000 записей на python3 - 26секунд, на Golang (>>> репо здесь <<<) - 9 секунд
- настройка батчей вручную в коде