Как реализовать многопроцессорность при создании бота на python?

Я работаю над ботом на питоне, для телеграмма. На определённом этапе мне нужно выполнить функцию которая выполняется от 1-2 минут. Если я просто её запущу то бот встанет и не сможет обрабатывать другие запросы. Как сделать так чтобы бот продолжал отвечать и работать, даже с запущенной функцией, и можно ли запустить несколько таких функций, или нужно реализоваывать очередь запуска? Ниже пример кода. Я попытался функцию использовать класс Process но он выдаёт ошибки

@dp.message_handler(commands=["download"])
    async def command_create(message: types.Message):
    request_text = data_base.get_user_state(user_id=message.from_user.id)
   if request_text[0] and request_text[1] and request_text[2] and 
       request_text[3] == 0:
       if int(request_text[2]) > 10:
           return
       await data_base.update_state_status(message.from_user.id, 1)
       dw = Downloader(request_text[2], request_text[0], request_text[1])
       await MakerFolder.add(Path(Path.cwd(), str(message.from_user.id), "image"))
       p1 = multiprocessing.Process(target=dw.download_pictures,
                            args=(Path(Path.cwd(), 
       str(message.from_user.id), "image"),))
       p1.start()
       await MakerFolder.add(Path(Path.cwd(), str(message.from_user.id), "text"))
       p2 = multiprocessing.Process(target=dw.download_text,
                                args=(Path(Path.cwd(), 
       str(message.from_user.id), "text"),))
       p2.start()


    else:
        await message.answer(f"фон = {request_text[0]} \nтекст = {request_text[1]}\nколичество preview = {request_text[2]}\nПроцесс уже запущен введите команду /start, если хотите начать заново")

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