Skip to content

refactor(worker): replace duplicated lifecycle loop with execute_lifecycle #21

@profsergiocosta

Description

@profsergiocosta

job_runner.py mantém uma cópia manual do loop validate → run → save com o comentário explícito "Feature Parity com o CLI". Essa paridade manual é uma dívida de manutenção: qualquer nova fase do lifecycle (como load) precisa ser adicionada em dois lugares. Com dissmodel 0.4.0, o loop canônico está em execute_lifecycle e o job_runner deve delegá-lo.
Dependency
Requer dissmodel >= 0.4.0.
Changes
services/worker/job_runner.py
O bloco try inteiro (validate → run → save + métricas) é substituído por:
from dissmodel.executor import execute_lifecycle

record, timings = execute_lifecycle(executor, record)
O que permanece exclusivo do job_runner (não vai para o core):
Gravação do profiling .md na S3 com Execution Node: Cloud Worker
Gravação do record .json na S3
Redirecionamento de stdout → stderr antes dos imports
Escrita do JSON result via _real_stdout
A tabela de profiling ganha a linha Load:
| Load | 9.841 | 89.2% |
Checklist
[ ] Atualizar dissmodel para >= 0.2.0 em pyproject.toml / requirements.txt
[ ] Substituir loop manual por execute_lifecycle
[ ] Adicionar linha Load no template do markdown
[ ] Remover comentário "Feature Parity com o CLI"
[ ] Testar com CoastalRasterExecutor via API após a migração

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions