refactor(tasks): validar status do artigo (público/válido) antes de exportar para ArticleMeta#1421
Merged
robertatakenaka merged 1 commit intoscieloorg:mainfrom Mar 26, 2026
Conversation
- Adiciona filtros de validade e status público na busca do artigo. - Adiciona tratamento para erro DoesNotExist. - Insere log de aviso e cancela o pipeline caso o artigo não cumpra os requisitos.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Descrição
Esta mudança implementa validações adicionais no processo de exportação de artigos para o ArticleMeta. O objetivo é garantir que apenas artigos marcados como válidos (
valid=True) e públicos (is_classic_public=True) sejam processados, evitando inconsistências nos dados exportados e falhas silenciosas nas tarefas em segundo plano.🛠️ Alterações Realizadas
article/tasks.py:task_export_article_to_articlemetapara incluir os filtrosvalid=Trueeis_classic_public=True.Article.DoesNotExist, retornandoFalsede forma segura.task_process_article_pipelinepara evitar o agendamento (.delay()) da tarefa de exportação caso o artigo não cumpra os requisitos, poupando recursos do broker.logging.warning) para rastrear artigos ignorados durante o pipeline.🧪 Como Testar?
valid=Trueeis_classic_public=True. A exportação deve ocorrer normalmente.valid=False. Tente rodar o pipeline. Verifique no log a mensagem: "Article [PID] is not valid or not public. Skipping export...".is_classic_public=False. O comportamento deve ser o mesmo do teste anterior.pid_v3que não existe no banco. A task deve retornarFalsesem subir uma exceção não tratada para o Sentry/UnexpectedEvent.📌 Notas Adicionais