У Celery проблемы с разрешением DNS?

Я использовал Celery для асинхронной регистрации электронной почты, но когда я запускаю этот асинхронный запрос, появляется следующая ошибка

С кодом задач celery проблем нет, потому что я мог использовать его раньше, но описанная выше ситуация возникла после того, как я сменил компьютер

код задачи

from django.core.mail import send_mail

from celery import shared_task


# 发送邮件验证码,使用task进行异步处理,获取从视图层获取来的值,然后发送到用户邮箱中
@shared_task
def send_email(request, rand_str):
    send_mail(
        subject='验证码',
        message='你的验证码为:' + rand_str + '请不要将你的验证码告诉其他人',
        from_email='TEXT',
        recipient_list=[request],
        fail_silently=False
    )
    return (request, rand_str)

основные настройки

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = False 
EMAIL_USE_SSL = True  
EMAIL_HOST = 'smtp.gmail.com'  
EMAIL_PORT = 587
EMAIL_HOST_USER = 'xxx'  
EMAIL_HOST_PASSWORD = 'xxx' 

.> celery exchange=celery(direct) key=celery

Консоль запуска Celery может распознать эти задачи

[tasks]
  . Let.tasks.add
  . blog_index_html.tasks.send_email

Когда я искал несколько дней, я определил место BUG, оказалось, что модули eventlet и dnspython несовместимы, и я нашел решение в его официальном репозитории GIT.
. Моя операция заключается в удалении и повторной установке модуля dnspython

github link

Вернуться на верх