Я пытаюсь ответить на запрос в 200 раз, прежде чем работа будет завершена, однако работа, которую мне нужно сделать, занимает больше 3 секунд, в течение которых мне нужно получить ответ.
Я работаю в aws лямбда и способ, которым я подошел к этому, был через многопоточность:
t = threading.Thread(target=worker, args=(xml,))
t.start()
# So that you can return before worker is done
return response(200)
Однако, даже когда я выполнял работу, выполняемую в фоновом режиме, кажется, что aws лямбда не закончится sh работа. Кажется, что как только ответ получен, лямбда просто отключается. Например, если на выполнение работы уходит 2 секунды, следующее не сработает:
t = threading.Thread(target=worker, args=(xml,))
t.start()
# So that you can return before worker is done
return response(200)
, но если мы поспим 2 секунды, работа будет выполнена:
t = threading.Thread(target=worker, args=(xml,))
t.start()
time.sleep(2)
# So that you can return before worker is done
return response(200)
Если это так, что я могу сделать, чтобы получить ответ 200 ok на запрос с aws лямбда, но также можно ли выполнить работу в той же самой функции лямбда?