1
resposta

Minha resposta

import asyncio
import math


base_user = [
    {"nome": "Ana", "vip": True, "notificacoes_ativadas": True},
    {"nome": "João", "vip": False, "notificacoes_ativadas": True},
    {"nome": "Carla", "vip": False, "notificacoes_ativadas": False},
]

async def sender(user):
    if not user['notificacoes_ativadas']:
        print(f"{user['nome']} desativou as notificações. Nada foi enviado.")

    if user['vip']:
        print(f"Notificação VIP para {user['nome']} enviada!")
    else:
        print(f"Notificação normal para {user['nome']} enviada!")

async def main():
    print("Enviando notificações...")
    tasks = [ asyncio.create_task(sender(u)) for u in base_user]
    await asyncio.gather(*tasks)
    print("Todas as notificações foram processadas!")

asyncio.run(main())
1 resposta

Oi, Franklim! Como vai?

Você estruturou bem o envio de notificações de forma assíncrona, usando asyncio para processar múltiplos usuários simultaneamente. Do jeito que você explicou, ficou claro como tratar diferentes casos, como usuários VIP ou com notificações desativadas.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!