Мне нужно сделать длительный шаг предварительной обработки POST-запросов к заданному маршруту (я использую Django). Это прочитает набор данных, изменит некоторые данные и перезаписает их на диск (это может занять пару минут). Мне не нужен результат этой функции, я просто хочу выполнить его асинхронно и немедленно отправить HTTP-ответ, не дожидаясь его завершения.
В настоящее время, как это, он говорит подпрограмму "preprocess_dataset_asyn c" никогда не ожидается и не выполняет его полностью.
@require_POST
def preprocess_dataset(request, f_path=''):
# ...
preprocess_dataset_async(f_path, data)
return HttpResponse('Request is being handled in the background', status=200)
async def preprocess_dataset_async(f_path, preprocess_args):
# ...
await stuff
# ...
Каков наилучший способ выполнить эту задачу в фоновом режиме, не блокируя функцию вызывающего абонента?