Skip to content

Refactor 2.1.0: pipeline COUNTER, services e reorganização#127

Merged
pitangainnovare merged 16 commits into
scieloorg:mainfrom
pitangainnovare:refactor/usage-2.1.0
Jun 21, 2026
Merged

Refactor 2.1.0: pipeline COUNTER, services e reorganização#127
pitangainnovare merged 16 commits into
scieloorg:mainfrom
pitangainnovare:refactor/usage-2.1.0

Conversation

@pitangainnovare

@pitangainnovare pitangainnovare commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Refactor 2.1.0: pipeline COUNTER, services e reorganização

Resumo

Refactor amplo do app de uso/COUNTER, organizado em commits temáticos para
leitura sequencial. Renomeia camadas de service para a forma singular, quebra
módulos monolíticos de metrics em pacotes, reorganiza a suíte de testes,
remove código morto e adota descoberta explícita de tasks Celery via
CELERY_IMPORTS. Inclui também ajustes de metadados/mappings (R5.1, título do
documento) ainda não presentes no upstream.

Bump de versão: 2.0.3 → 2.1.0.

Destaques

  • Pipeline COUNTER reestruturado: metrics/counter/{access,indexing}/,
    metrics/services/parsing/, metrics/tasks/{log_parsing,daily_metric_exports,resume}.py,
    metrics/opensearch/painless.py.
  • Descoberta de tasks passa a ser explícita (CELERY_IMPORTS em
    config/settings/base.py); os tasks/__init__.py deixam de reexportar.
  • Services singulares em document/ e source/ (+ core/utils/metadata.py
    compartilhado).
  • Testes migrados de tests.py planos para pacotes tests/ (com conftest,
    fixtures e subpastas por área em metrics).
  • Dependências: libs scielo instaladas sem -e (corrige recriação de src/);
    psycopg2-binarypsycopg2 em produção.
  • Limpeza: remoção de metrics/{admin,views,exceptions}.py, comandos de
    management obsoletos, AGENTS.md, etc.

Commits (em ordem)

Feature pré-existente (ainda não no upstream)

Refactor (temático)

  • build(deps) — libs scielo sem -e; psycopg2 source em produção.
  • chore(infra) — Makefile/README, flake8/pytest config, config/{menu,urls,collections}, bump 2.1.0, remove AGENTS.md.
  • feat(core) — adiciona core/utils/metadata.py (compartilhado por document/source).
  • chore(core) — hygiene de utils, collectors, users, tests.
  • refactor(metrics) — reestrutura pipeline COUNTER + CELERY_IMPORTS
    (config/settings/base.py, document/tasks/__init__.py); novos pacotes
    counter/{access,indexing}, services/parsing, tasks/{log_parsing,daily_metric_exports};
    remove admin/views/exceptions/scripts/parser/parse/process/management e testes legados.
  • refactor(document) — services singulares (article/book/dataset/preprint),
    reorg de tasks e testes.
  • refactor(source) — services singulares + loaders.py + testes.
  • refactor(log_manager) — camada de services + testes; remove management.
  • refactor(log_manager_config) — reorg + testes.
  • refactor(reports) — camada de services + testes.
  • refactor(resources) — services + testes (robots/mmdb).
  • refactor(collection) — hygiene; remove testes legados.
  • refactor(tracker) — hygiene.
  • refactor(core_settings) — hygiene + testes.
  • refactor(django_celery_beat) — hygiene.

Atenção (mudanças que afetam consumidores)

  • Imports: módulos de service renomeados para singular
    (document/services/articles.pyarticle.py, etc.); módulos de parsing/counter
    reorganizados em pacotes.
  • Celery: tasks aninhadas só são descobertas via CELERY_IMPORTS — quem rodar
    workers deve usar a config atualizada.
  • Dependências: requirements/{base,production}.txt alterados (rebuild da imagem
    necessário).
  • Removidos: metrics/{admin,views,exceptions}.py, comandos de management de
    metrics/log_manager, AGENTS.md.

Verificação

  • make lint e make test verdes
  • makemigrations --check --dry-run sem pendências
  • celery -A config.celery_app inspect registered lista as tasks de document e metrics
  • Cadeia search→validate→parse→export executada contra o OpenSearch local; índices usage_* populados
  • Reexecução não duplica contagens (idempotência)

@pitangainnovare pitangainnovare self-assigned this Jun 21, 2026
@pitangainnovare pitangainnovare added the enhancement New feature or request label Jun 21, 2026
@pitangainnovare pitangainnovare merged commit d7b0b54 into scieloorg:main Jun 21, 2026
2 checks passed
@pitangainnovare pitangainnovare deleted the refactor/usage-2.1.0 branch June 21, 2026 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant