django如何异步执行函数,即将任务移交给子进程并返回响应

whi*_*hat 6 python django django-forms django-views python-3.x

我正在使用 django 2.0 和 python 3.6。

用户注册包括发送验证邮件。而且这个邮件发送过程需要更长的时间,让用户一直等待。

我需要什么?:如果用户注册表单有效,则邮件详细信息将发送到另一个任务处理程序,无论邮件是否发送,该功能都必须恢复并返回响应。

def new_user_registration(request):
    form = CustomUserCreationForm(request.POST or None)
    if form.is_valid():
        user = form.save()
        send_verification_mail(user) #<= taking more time.
        return render(request, 'registration/signup.html')
Run Code Online (Sandbox Code Playgroud)

即,send_verification_mail必须异步调用。如何实现?

注意:我是 django 和 python 的新手。

yor*_*odm 3

大多数时候您将为此使用任务队列。

Celery已经存在很长时间了,众所周知并且有记录,但最近我将所有的东西转移到TaskTiger