Обработка запроса в django, который занимает много времени, лучше ли лямбда-функция и api шлюз? ИЛИ асинхронная функция django
У меня есть функция в моем django rest framework api, которую я разрабатываю. Подозреваю, что доработка займет много времени. Около минуты. Учитывая, что api запросы ожидают ответа, я подозреваю, что это проблема.
Моя первоначальная мысль заключалась в создании лямбда-функции aws, которая привязана к шлюзу aws api, защищенному ключом api.
Идея заключается в том, что фронт-энд вызывает url шлюза api, а url и ключ api передаются моим сервером только тогда, когда пользователь, запрашивающий url и apikey, имеет доступ. Но достаточно ли это безопасно?
Или лучше иметь функцию django, которая выполняется async? То есть выполнять работу, которую нужно сделать async и немедленно возвращать ответ 200? Затем просто иметь другую конечную точку, которая опрашивает сервер, чтобы узнать, была ли выполнена работа? Можно ли вообще сделать асинхронное поведение таким образом, как я описал?
https://docs.djangoproject.com/en/4.0/topics/async/
После прочтения документации кажется, что она не делает того, чего я ожидаю. Думаю, мы не можем вернуть 200, пока функция работает. Таким образом, AWS amazon gateway кажется выигрышным. Но я беспокоюсь, что моя схема api и способ передачи данных недостаточно безопасны.
Есть совет?