Python. Проблема выполнения асинхронных задач

Есть проблема выполнения асихнронных задач. Python 3.13.3. В функции которую отправляю на выполнение должна проводится проверка, что email заполнен и тогда сообщение не должно отправляться. Но это не работает. Не понимаю почему

    tasks = [
        asyncio.create_task(
            send_incomplete_contacts_nurture(
                30 * 60,
                "banners/тг баннер 14.png",
                (
                    "<b>Обратный отсчёт пошёл</b>\n"
                    "Система уже построила путь к твоей цели. Но окно возможностей не вечно.\n"
                    "Через 30 мин: система удалит расчёты.\n"
                    "Через 1 час: слоты Fast Pass аннулируются."
                ),
            )
        ),
        asyncio.create_task(
            send_incomplete_contacts_nurture(
                50 * 60,
                "banners/10 минут.png",
                (
                    "<b>Fast Pass-режим: приоритетная активация</b>\n"
                    "<b>Твоя заявка попадает на приоритетную обработку:</b>\n"
                    "Персональный Zoom разбор\n"
                    "План роста с привязкой к твоим цифрам\n"
                    "Автоматическая расшифровка с AI и PDF-протокол\n"
                    "<i>⏳ Доступен 72 часа — дальше только по индивидуальному запросу.</i>"
                ),
            )
        ),
        asyncio.create_task(
            send_incomplete_contacts_nurture(
                55 * 60,
                "banners/тг баннер 15.png",
                (
                    "<b>Система уже запускает обратный отсчёт.</b>\n"
                    "Через 5 минут разбор будет уничтожен.\n"
                    "<i>Ссылка на PDF исчезнет. Следующая попытка — через 30 дней.</i>"
                ),
            )
        ),
        asyncio.create_task(auto_send_pdf(60 * 60)),
    ]
    NURTURE_TASKS[user_id] = tasks

    async def send_incomplete_contacts_nurture(delay_s: int, photo_path: str, text: str):
        try:
            await asyncio.sleep(delay_s)
            cur = session_load(user_id) or {"data": {}}
            if cur.get("completed"):
                return
            if not is_qualified(cur):
                return
            phone = cur.get("phone")
            email = cur.get("email")
            # Не отправляем дожим, если в БД уже есть ЛЮБОЙ контакт (телефон или email)
            if phone or email:
                return
            await bot.send_message(
                chat_id,
                text,
                reply_markup=_nurture_button("▶ Оставить контакты"),
            )
        except asyncio.CancelledError:
            return

def session_load(user_id: int) -> dict | None:
    row = DB.execute(
        "SELECT user_id, chat_id, step, data, completed, phone, email, pdf_path FROM sessions WHERE user_id=?",
        (user_id,),
    ).fetchone()
    if not row:
        return None
    return {
        "user_id": row[0],
        "chat_id": row[1],
        "step": row[2],
        "data": json.loads(row[3] or "{}"),
        "completed": bool(row[4] or 0),
        "phone": row[5],
        "email": row[6],
        "pdf_path": row[7],
    }

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