Descrição:
Contexto
Atualmente, UnexpectedEvent.create() gera um novo registro a cada chamada, mesmo quando já existe um evento para o mesmo par item/action (incluindo o par None/None). Em cenários de erro recorrente (ex.: uma mesma falha disparada repetidamente por uma task), isso faz a tabela crescer de forma excessiva e sem necessidade, dificultando consultas, aumentando o uso de armazenamento e poluindo a listagem administrativa com entradas repetidas.
Objetivo
- Reaproveitar o registro mais recente para o mesmo
item/action em vez de criar um novo a cada ocorrência.
- Registrar quando cada evento foi atualizado pela última vez (
updated), preservando a data de criação original (created).
- Refletir essa informação na listagem administrativa do Wagtail.
Escopo
tracker/models.py
tracker/migrations/0005_alter_unexpectedevent_options_and_more.py
tracker/wagtail_hooks.py
Critérios de aceite
Descrição:
Contexto
Atualmente,
UnexpectedEvent.create()gera um novo registro a cada chamada, mesmo quando já existe um evento para o mesmo paritem/action(incluindo o parNone/None). Em cenários de erro recorrente (ex.: uma mesma falha disparada repetidamente por uma task), isso faz a tabela crescer de forma excessiva e sem necessidade, dificultando consultas, aumentando o uso de armazenamento e poluindo a listagem administrativa com entradas repetidas.Objetivo
item/actionem vez de criar um novo a cada ocorrência.updated), preservando a data de criação original (created).Escopo
tracker/models.pytracker/migrations/0005_alter_unexpectedevent_options_and_more.pytracker/wagtail_hooks.pyCritérios de aceite
UnexpectedEvent.create()com o mesmoitem/actionatualizam o registro existente em vez de criar um novo.createdpermanece inalterado eupdatedreflete a última ocorrência.updatedaparece na listagem do Wagtail.