Celery с rabbitMq и задержкой Django не работает

Я использую celery для отправки почты, и выполнение не происходит в главном потоке из-за высокой нагрузки на него. Хотя я могу отправлять почту, когда я пытаюсь использовать shared_task, функция не выполняется

Когда я проверяю с помощью celery -A myApp worker -l info, я получаю, что задание userEmail получено, но нет вывода, который выполняется.

Что кажется мне странным, следуя документации по celery, так это то, что нет необходимости добавлять какое-либо утверждение в settings.py

Потому что если я проверю, что является конфигурацией для redis (не rabbitMq), есть такие предложения:

CELERY_BACKEND = 'redis://localhost:6379/3'
CELERY_BROKER_URL = 'redis://localhost:6379/4'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/5'

CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_ENABLE_UTC = True

Как сказать сельдерею использовать rabbitMq?

init.py

from .celery import app as celery_app

__all__ = ('celery_app',)

celery.py

import os

from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myApp.settings')
app = Celery('myApp')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks() 

Затем есть файл utils.py, в котором есть эта функция:

from celery import shared_task

@shared_task(name="userEmail")
def send_user_mail(randomNumber, email):
    subject = 'Validation'
    body="Your number is: "+str(randomNumber)

    send_mail(subject, body ,'xxxxxx.ssmtp@gmail.com', [email],fail_silently = False)
    return 1
Вернуться на верх