发送电子邮件时 Django 线程是否被阻塞?

Is django thread blocked while sending email?

我有一个 django-rest-framework API,我正在尝试了解如何从它发送电子邮件。假设我使用 django.core.mail.backends.smtp.EmailBackend 作为电子邮件后端来发送电子邮件。发送电子邮件非常慢,我想知道,在此期间 django 主线程是否会以某种方式被阻塞,以便其他 APIs 在此期间无法使用?真的吗?例如,在 celery 创建的后台进程中发送电子邮件是否合适?

我确认处理请求的线程将被阻止,直到发送电子邮件。在典型的 Django 设置中,每个请求都会创建一个线程。

是的。该特定用户的 Django 线程被阻止。您可能希望结合使用 Celery 和 Rabbit Mq 在后台发送邮件。