У меня есть приложение Django, которое просто проверяет API и затем сохраняет ответ от API на мою БД, если статус завершен, для этого я использую celery, задача celery выглядит следующим образом
@task(bind=True, priority=5)
def process_domain_scan(self, scan_url):
response = self.get_status(scan_url)
if response and (response.get('status') != "FAILED"):
while response and response.get('status') == "PENDING":
print "processing :: {}".format(response)
time.sleep(5)
response = self.get_status(scan_url)
if response and response.get('status') == "COMPLETED":
#store to database
проблема здесь в том, что иногда работа, которую я выполняю на внешнем API, может ждать часами, и, следовательно, моя задача сельдерея будет в oop часами в ожидании возвращения статуса Completed
есть ли лучший способ использовать сельдерей, чтобы сделать это, не дожидаясь возврата API Completed