Как сделать цикл for параллельным? Python

Писал код для скачивания постов с профиля инстаграм для телеграмм бота. Проблема с циклом for, я пытался сделать так, чтобы пользователь мог из телеграмма прервать цикл, но из-за того, что цикл в это время работает, обработка ответа не происходит. Как это исправить?

Код:

class Insta():
    @dp.callback_query_handler(text='Да') 
    async def inline_kb_answer_callback_handler(query: types.CallbackQuery):
        answer_data = query.data
        await query.answer(f'Ты ответил: {answer_data!r}')
        if answer_data == 'Да':
            text = 'Цикл Остановлен'
        else:
            text = f'Unexpected callback data {answer_data!r}!'
        await bot.send_message(query.from_user.id, text) 

    @dp.message_handler(commands=['grab'])
    async def inst(message: types.Message):
        Insta.messages_list = {}
        Insta.messages_list.clear()
        Insta.messages_list["messages"] = str(message.get_args())   
        keyboard_markup = types.InlineKeyboardMarkup(row_width=3)
        text_and_data = (('Да!', 'Да'),)
        row_btns = (types.InlineKeyboardButton(text, callback_data=data) for text, data in text_and_data)
        keyboard_markup.row(*row_btns)
        await message.reply("Остановить цикл?", reply_markup=keyboard_markup)
        try:
            profile = instaloader.Profile.from_username(bt.context, Insta.messages_list["messages"])
            posts = profile.get_posts()
            for index, post in enumerate(posts, 1):#цикл, который нужно остановить
                bt.download_post(post, target=f"{profile.username}_{index}")
        except:
            await message.reply("Ошибка")

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