Выбор ответа Junior Celery и очереди спрашивают часто обновлено

Зачем очередь задач

Вопрос

Зачем выносить отправку письма после регистрации в очередь задач?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Чтобы не держать запрос на медленном внешнем вызове и иметь ретраи. Почтовый сервер может отвечать секунды или временно отказывать.

Варианты ответа

  1. Чтобы письмо дошло быстрее за счёт отдельного SMTP-соединения у воркера
  2. Потому что Django не умеет отправлять письма из обработчика запроса
  3. Чтобы не держать запрос на медленном внешнем вызове и иметь ретраиправильный ответ
  4. Чтобы письма шифровались брокером при передаче на почтовый сервер

Разбор

Почтовый сервер может отвечать секунды или временно отказывать. В запросе это увеличивает время ответа и роняет регистрацию при сбое почты. Очередь отвечает пользователю сразу, а воркер отправит письмо с повторными попытками. Быстрее письмо не дойдёт, Django письма отправлять умеет, шифрование тут ни при чём.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.