Как будет проходить работа асинхронного скрипта с синхронными функциями Python (общие вопросы)

Час добрый
Подскажите пожалуйста как будет себя вести примерно следующий скрипт:

Есть асинхронный скрипт который работает для n пользователей (для примера возьмем 5)
В бд лежит 5 пользователей и у каждого пользователя есть по 1 задаче со статусом start (пример)

Асинхронный скрипт будет вызывать обычную, синхронную функцию для задач со статусом start.
В итоге получится что одновременно будет выполняться функция для всех 5-ти пользователей или же для каждого по очереди?

С асинхронностью только знакомлюсь, в многопотоке бы написал для обработки всех пользователей что то по типу такого:

users = [
         {'username': 'user', 'task:'start'},
         {'username': 'user1', 'task:'start'},
         .................
        ]

        (грубый пример данных в бд) 


from multiprocessing import Pool


def start_task(user):
    print(f'[INFO] Старт задачи для {user}')
    # И ниже различный код для старта задачи 


def main():
    users = ['user1', 'user2', 'user3']  

    # Для примера всего 3 пользователя
    # За место подобного списка данные должны браться из бд (но для примера это лишнее)
    # Так же должен браться ключ task и проверка if task == 'start': (но для примера опять же лишнее)

    process_count = 3

    p = Pool(processes=process_count)
    p.map(start_task, users)

# EDITED
# Код выше просто как рабочий пример необходимой обработки 
# Вопрос стоит в том, чтобы заменить мультипроцессорность на асинхронность


if __name__ == '__main__':
    main()



Как похожее можно реализовать используя асинхронный скрипт?


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