Запуск задачи из другой задачи

Я пытаюсь запустить задачу send_request из задачи start_distribution с помощью метода apply_async не работает.

from celery import shared_task, group
from celery.utils.log import get_task_logger

from .models import Distribution, Client

logger = get_task_logger(__name__)


@shared_task(bind=True, max_retries=200, default_retry_delay=30)
def send_request(self, distribution_id, client_id):
    pass


@shared_task(bind=True)
def start_distribution(self, distribution_id):

    distribution = Distribution.objects.get(pk=distribution_id)

    logger.info(f'distribution obj:')
    logger.info(f'  pk: {distribution.pk}')
    logger.info(f'  start date: {distribution.start_date}')
    logger.info(f'  end date: {distribution.end_date}')
    logger.info(f'  tag: {distribution.tag.name}')
    logger.info(f'  mobile_code : {distribution.mobile_code.mobile_code}')
    logger.info(f'  body message : {distribution.body_message}')

    clients_for_send = Client.objects.filter(
        mobile_code=distribution.mobile_code,
        tag=distribution.tag
    ).all()

    logger.info('Pk sending client:')

    [logger.info(client.pk) for client in clients_for_send]

    g = group(send_request.s(distribution_id, client.pk) for client in clients_for_send)

    g.apply_async(
        queue='external_req',
        expires=distribution.end_date
    )
Вернуться на верх