Выбор ответа Junior Celery и очереди спрашивают часто обновлено
Зачем очередь задач
Вопрос
Зачем выносить отправку письма после регистрации в очередь задач?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Чтобы не держать запрос на медленном внешнем вызове и иметь ретраи. Почтовый сервер может отвечать секунды или временно отказывать.
Варианты ответа
- Чтобы письмо дошло быстрее за счёт отдельного SMTP-соединения у воркера
- Потому что Django не умеет отправлять письма из обработчика запроса
- Чтобы не держать запрос на медленном внешнем вызове и иметь ретраиправильный ответ
- Чтобы письма шифровались брокером при передаче на почтовый сервер
Разбор
Почтовый сервер может отвечать секунды или временно отказывать. В запросе это увеличивает время ответа и роняет регистрацию при сбое почты. Очередь отвечает пользователю сразу, а воркер отправит письмо с повторными попытками. Быстрее письмо не дойдёт, Django письма отправлять умеет, шифрование тут ни при чём.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.