Асинхронная функция Python не работает с fn в функциях Oracle
В настоящее время я пытаюсь использовать функцию oracle API-Gateway и Oracle для создания API.
Он работает нормально, у меня все работает, но скрипт, который я размещаю в функциях оракула, требует запуска asyncio. Сначала я пытался запустить его с помощьюasyncio.run(test_func(test_data))
Первоначально он просто выдавал ошибку 502, функция не выполнялась.
После добавления его в try...except и регистрации исключения я обнаружил, что был запущен еще один цикл, поэтому asyncio не выполнялся.
Итак, я попробовал это:
try:
loop = asyncio.get_running_loop()
except Exception as el: # 'RuntimeError: There is no current event loop...'
loop = None
logging.getLogger().info("err "+str(el))
if loop and loop.is_running():
try:
loop.create_task(test_func())
except Exception as e:
logging.getLogger().info("err "+str(e))
else:
try:
asyncio.run(test_func())
except Exception as e:
logging.getLogger().info("err "+str(e))
Даже тогда это не работает. Кто-нибудь еще сталкивался с этой ошибкой, используя функции Oracle с python? Любая помощь приветствуется. Неасинхронные функции работают отлично, а асинхронные — нет.
Время выполнения: Python3.8 Среда: fn-проект с докером в функциях Oracle