Skip to content

feat: orgs prioritization#25

Open
marcellhenrique wants to merge 3 commits intomainfrom
feat/orgs-prioritization
Open

feat: orgs prioritization#25
marcellhenrique wants to merge 3 commits intomainfrom
feat/orgs-prioritization

Conversation

@marcellhenrique
Copy link

@marcellhenrique marcellhenrique commented Mar 3, 2026

Motivação

A lista de organizações ativas retornada pelo archiver era ordenada simplesmente por id. Isso não priorizava orgs com maior volume de dados, o que pode ser relevante para otimizar o tempo total de arquivamento processando primeiro as organizações mais pesadas.

Alterações

  1. Modificada a query lookupActiveOrgs para fazer um LEFT JOIN LATERAL com a tabela archives_archive, buscando o record_count do archive mensal (period = 'M') mais recente de cada org.
  2. A ordenação agora é COALESCE(record_count, 0) DESC, o.id — orgs com maior volume mensal são processadas primeiro, com desempate por id.
  3. Orgs sem nenhum archive mensal são tratadas com record_count = 0 e ficam ao final da lista.

Testes

  1. Adicionado o teste TestGetActiveOrgsOrdering que valida:

Ordenação padrão (todas com record_count = 0, desempate por id)
Ordenação após inserção de archives mensais com record_count diferentes
Ordenação correta quando um archive mensal mais recente é inserido com record_count mais alto

  1. Testes existentes não foram afetados pois os dados de teste padrão mantêm a mesma ordem.

@marcellhenrique marcellhenrique requested a review from rasoro March 3, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants