[править] Python 3.6
Есть функция:
def main(request):
do_something() // task takes some days
responce = {'status': 'started!'}
return responce
Мне нужно, чтобы она возвращала ответ сразу после запуска do_something () и НЕ дожидалась do_something () быть законченным. Я уже пробовал это:
def main(request):
Thread(target=do_something).start()
responce = {'status': 'started!'}
return responce
Работает, только если do_something () не содержит внутри потоков. Пожалуйста, помогите с использованием asyn c -wait здесь 'без лишних строк кода'
[update] это отлично работает только в Jupyter, но не в контейнере docker (появляется RuntimeError: There нет текущего события l oop в потоке '):
import asyncio
async def do_something():
print("internal training started")
await asyncio.sleep(5)
print("internal training finished")
def main():
asyncio.ensure_future(train_models())
responce = {'status': 'started!'}
return responce
print(main())
[обновление] проблема была не с потоками и асинхронными функциями, проблема была с azure -функциями. [закрыто]