Асинхронный запуск функции

У меня есть функция update_db, которая обновляет базу данных. Функция get_product работает секунд 10. Если у меня будет 100 товаров, то функция update_db будет выполняться очень долго. Как можно запустить функцию get_product сразу ко всем товарам асинхронно?

def update_db():
    for product in products:
        url = product[6]
        title, price, availability = get_product(url, mode=True)
        cur.execute('UPDATE products_product SET title = %s, price = %s, availability = %s WHERE url = %s',
                    (title, price, availability, url))
        conn.commit()

get_product

from bs4 import BeautifulSoup
from selenium import webdriver


def get_product(url_website: str, mode: bool = True):
    options = webdriver.ChromeOptions()
    options.add_argument(f"user-agent=project-user-agent")
    options.add_argument("--disable-blink-features=AutomationControlled")
    options.headless = mode

    driver = webdriver.Chrome(
        executable_path="Путь_до_драйвера",
        options=options
    )

    title = ''
    price = 0
    availability = True

    try:
        driver.get(url=url_website)

        content = driver.page_source
        soup = BeautifulSoup(content, 'lxml')

        title = soup.find('h1', class_='title').text

        price_str = soup.find('span', class_='price__main-value').text

        test = soup.find('p', class_='product-sold-out-text')
        if test:
            availability = False
        else:
            availability = True
    except Exception as ex:
        print(f'Неизвестная ошибка: {ex}')
    finally:
        driver.close()
        driver.quit()

    return title, price, availability

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