Mapa da aula
Aula 22 publicada. Mapa, exemplo, EX064.
flowchart TD
N0["22.1 A regra"]
N1["22.2 Resultados"]
N2["22.3 Exceções"]
N3["22.4 Verificação"]
N4["Laboratório — Exclusão automática de contas inativas"]
N0 --> N1 --> N2 --> N3 --> N4
N4 --> EX["Exemplo resolvido"]
EX --> Q["Exercício EX064"]
Desenho lógico
flowchart LR
N0["22.1 A regra"]
N1["22.2 Resultados"]
N2["22.3 Exceções"]
N3["22.4 Verificação"]
N4["Laboratório — Exclusão automática de contas inativas"]
N0 --> N1 --> N2 --> N3 --> N4 --> Q["EX064"]
[22.1 A regra]
|
v
[22.2 Resultados]
|
v
[22.3 Exceções]
|
v
[22.4 Verificação]
|
v
[Laboratório — Exclusão automática de contas inativas]
|
v
[Exemplo resolvido] --> [Exercício EX064]
Objetivos de aprendizagem
Você vai (1) automatizar a exclusão de contas inativas; (2) tratar as exceções; (3) verificar os resultados.
22.1 A regra
A Quayside exclui as contas inativas há mais de dois anos, depois de um e-mail de aviso enviado trinta dias antes. Os dois anos seguem a tabela de retenção documentada da Quayside, que equilibra os alunos que voltam depois de longas pausas com a limitação da conservação. O aviso dá ao aluno a chance de manter a conta simplesmente entrando nela. As contas com dívida em aberto ficam retidas, porque a Quayside precisa dos registros para cobrar ou quitar a dívida; essa é uma exceção documentada, com prazo de retenção próprio, e não uma decisão tomada caso a caso.
22.2 Resultados
O laboratório processa 3.000 contas: 73 e-mails de aviso neste mês, 1.116 contas a excluir e 37 retidas por dívida em aberto. O script lê uma lista sintética de 3.000 contas com a data da última atividade e a marcação de dívida, e calcula quais chegam ao ponto de aviso neste mês, quais passaram do ponto de exclusão e quais ficam retidas. Ele imprime apenas contagens, e não identidades, e grava a lista dos números de conta afetados num arquivo protegido para a equipe de operações. Nenhum nome aparece na saída do console nem nos logs.
22.3 Exceções
As contas com dívida ficam retidas, com base documentada, até a resolução. Aisha registra cada decisão. Cada conta retida é revista todo mês, e, quando a dívida é quitada ou baixada, a conta entra na exclusão na rodada seguinte. Aisha considera outras exceções possíveis, como ações judiciais, e acrescenta uma marcação de retenção manual que só o encarregado pode definir. Cada retenção registra quem a definiu, quando e por quê, e as retenções sem justificativa são removidas na revisão mensal. Na primeira rodada, todas as trinta e sete retenções têm uma referência de dívida registrada.
22.4 Verificação
Aisha examina uma amostra das contas excluídas para confirmar a remoção em todos os sistemas. Para vinte contas, ela confere o sistema de matrículas, o banco do aplicativo, a plataforma de e-mail e o fornecedor de reservas. Na primeira rodada, o fornecedor ainda guarda três contas, porque sua interface de exclusão tinha falhado; a correção acrescenta uma etapa de confirmação pelo fornecedor. A exclusão agora é verificada, e não presumida, o que apoia a responsabilização do artigo 5(2). Vinte amostras por mês bastam para detectar uma ligação quebrada com um fornecedor. O Sr. Reilly observa que a automação aplica a limitação da conservação com confiabilidade.
Laboratório — Exclusão automática de contas inativas
# Automated deletion of inactive app accounts: inactive > 24 months, warn at 23 months, skip accounts with debt.
import random
r = random.Random(13)
acc = [(r.randint(0, 40), r.random() < 0.03) for _ in range(3000)] # months inactive, outstanding debt
warn = sum(1 for m, d in acc if m == 23); dele = sum(1 for m, d in acc if m > 24 and not d); hold = sum(1 for m, d in acc if m > 24 and d)
print(f"accounts {len(acc)}; warning emails this month {warn}; delete {dele}; held for outstanding debt {hold}")
Execute com python3 lab_inactive.py. Saída verificada:
accounts 3000; warning emails this month 73; delete 1116; held for outstanding debt 37
Exemplo resolvido
A rotina de Aisha envia 73 avisos, exclui 1.116 contas e retém 37 com dívida, e as exclusões são verificadas por amostragem.
Caso sintético. As contas são sintéticas.
Erros e limites
A exclusão precisa chegar, com o tempo, aos backups e aos fornecedores.
Exercícios
- EX064 — Exclusões. Quantas contas são excluídas?
Mostrar critérios de avaliação
Rubrica: 3 = 1.116;; 2 = parcialmente correta;; 1 = errada;; 0 = nenhuma. - EX065 — Retidas. Por que 37 contas ficam retidas?
Mostrar critérios de avaliação
Rubrica: 3 = dívida em aberto;; 2 = parcialmente correta;; 1 = vago;; 0 = nenhuma. - EX066 — Verificação. Como a exclusão é verificada?
Mostrar critérios de avaliação
Rubrica: 3 = por amostragem em todos os sistemas;; 2 = menciona amostragem;; 1 = vago;; 0 = nenhuma.