我有一个django-rest-framework API,正在尝试了解从它发送电子邮件的工作原理。假设我使用django.core.mail.backends.smtp.EmailBackend作为发送电子邮件的电子邮件后端。发送电子邮件的速度很慢,我想知道,在这段时间里,django主线程是否会以某种方式被阻止,从而使其他API无法使用?这是真的吗?例如,在芹菜创建的后台进程中发送电子邮件是一个好主意吗?
是。Django线程被阻止用于该特定用户。您可能希望使用Celery和Rabbit Mq在后台发送邮件。
我确认在发送电子邮件之前,处理请求的线程将被阻止。在典型的Django设置中,每个请求创建一个线程。