Асинхронная функция 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

0 ответов

Другие вопросы по тегам