функция django celery.задержка не выводит функцию

#python #django #django-celery

#python #django #django-сельдерей

Вопрос:

Я работаю над проектом django с 2 приложениями. Я добавил задачу сельдерея в приложение A, и эта задача вызывает другой метод в tasks.py приложении B. Метод в приложении B вызывается следующим образом

 send_mail_task_B.delay(subject=subject,
                         from_email=from_email,
                         to_email=to_email,
                         bcc_email=bcc_email,
                         body=body,
                         html_message=html_message)
  

send_email_task_B не выполняется с .delay ,
но когда я удаляю .delay , он выполняется и отправляет электронные письма.
Мой __init__.py файл в django project conf выглядит следующим образом:

 from __future__ import absolute_import

# This will make sure the app is always imported when
# Django starts so that shared_task will use this app.
from .celery import app as celery_app
celery_app
  

Я использую Django 2.2.8 и celery 4.3.0.

Я запускаю задачу сельдерея в оболочке django следующим образом:

 from A.tasks import send_email_method
result=send_email_method_A.apply()
  

Комментарии:

1. вы запускали второе приложение как рабочий из celery или как приложение django. Для выполнения задачи второе приложение должно быть запущено как рабочий из сельдерея.

2. @Себастьян Стиглер да, это сработало, когда я запустил celery worker, спасибо