Viber бот отвечает очень медленно

Я написал Viber бота на Python по образу и подобию официальной документации.
Сам по себе бот чрезвычайно простой. Залил его код на сервере, и дал ссылку на WebHook.
Но бот отвечает оче-е-ень долго, после отправки сообщения, бот думает около 7 секунд, и только потом отвечает.
Мне нужно его ускорить, я прошерстил кучу источников, и не понимаю в чем проблема.
WebHook отвечает сразу как получил запрос, сервер быстро все обрабатывает.
В чем ошибка? Помогите, пожалуйста. И огромное спасибо!

Небольшое пояснение для кода, т.к. в Viber есть баг, что если программа не отвечает на запрос в течении пары секунд, то Viber дублирует запрос. Из-за этого и ответ бота может дублироваться. Для решения этой проблемы поднимается очередь в отдельном потоке, которая отвечает на запросы. А WebHook, просто отвечает 200, что бы Viber не слал запросы.
На всех остальных каналах (ВК, виджет), с таким же кодом, очередями, и WebHook-ом, скорость вменяемая, они отвечают почти мгновенно. Код:

def async_action(f):
    """
    Функция обертка
    Используется для того, что бы была возможность вызвать
        любую функцию асинхронно

    Arguments:
        f {func} -- функция которая будет обернута

    Returns:
        [wrapper] -- возвращает обертку
    """
    @wraps(f)
    def wrapped(*args, **kwargs):
        return asyncio.run(f(*args, **kwargs))
    return wrapped


app = Flask(__name__)


@app.route('/viber', methods=['POST', 'GET'])
@async_action
async def viber_handler():
    '''
    Получая сообщение через вебхук, создается объект ядра
    Передаем полученный запрос далее по логике

    Returns:
        [Response] -- возвращаем Response(status=200),
            что бы viber перестал слать запросы
    '''
    await processing_message_viber(request)
    return Response(status=200)


def set_webhook(viber):
    """
    Функция активации вебхука

    Arguments:
        viber {viber obj} -- Передается для работы с вебхуком
    """
    # web_hook_link - Получаем при запуске ngrok,
    # храним в configs-server
    viber.set_webhook(web_hook_viber_link)


def start_work_queue():
    """
    Логику работы Viber смотреть в документации
    Данная функция запускает асинхронно функцию
        для разгрузки очереди
    """
    asyncio.run(work_queue())


if __name__ == "__main__":
    scheduler = sched.scheduler(time.time, time.sleep)
    scheduler.enter(5, 1, set_webhook, (viber,))
    activate_webhook = threading.Thread(target=scheduler.run)
    activate_webhook.start()
    
    queue_work = threading.Thread(target=start_work_queue)
    queue_work.start()

    port = int(os.environ.get("PORT", 4000))
    app.run(host='localhost', port=port)

Ответы (0 шт):