Я интегрировал API с моим сайтом Django. Для полного заказа через API существует 5 запросов и ответов, которые необходимо отправить и получить. Последние 2 запроса не являются очень важными для отправки последовательно. Я назначил эти 2 запроса на задание сельдерея.Сельдерей Задачи, не назначенные Брокером
Сценарий: Я посылаю запрос на обработку 10 заказов, поэтому каждый заказ имеет 5 запросов, из которых 2 из них назначены на задачу сельдерея. Следовательно, сельдерей имеет в общей сложности 10 задач, которые будут назначены брокером. Каждая из этих задач будет иметь 2 запроса.
Результат: Сельдерей не назначает все 10 задач при вызове API, поэтому для каждого набора из 10 заказов те, которые заполняются, являются 5 или 4 или 6 и так далее. Каждый раз, когда есть две или три задачи, которые не обрабатываются. Я не уверен, что заставляет задачу не быть назначенной брокером.
Я использую команду delay() для вызова задач. Мой task.py файл выглядит как этого
from celery import shared_task
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
@shared_task
def process_jobs(client_obj, job, **kwargs):
# do task related work
Призыв к этой задаче выглядит следующим образом
process_jobs.delay(self, job, **response_arg)
process_jobs содержит 2 HTTP запросов, которые сделаны последовательно один за другим с ответами, сохраненные в БД ,
Пожалуйста, советы
Уверенный, позвольте мне проверить и дадим вам знать. –
любое обновление? @ user778907 –