Skip to content

Criar mecanismo para sincronizar dados OpenAlex Works #632

@pitangainnovare

Description

@pitangainnovare

Descrição da nova funcionalidade

Eu, como membro do time de dados, gostaria que fosse desenvolvida uma rotina de sincronização de dados do índice raw_openalex_works, então esse índice estará totalmente sincronizado com os dados atuais da API OpenAlex. Uma primeira carga de dados foi realizada a partir de snapshot baixado.

Critérios de aceitação

Lista de critérios a serem observados pela equipe durante a elaboração e construção da tarefa:

  • A integração deve ser assíncrona, encapsulada em uma task do Celery (ex: harvest_openalex_works);
  • O consumo da API do OpenAlex (/works) deve utilizar as técnicas recomendadas na documentação oficial deles (como paginação via cursor);
  • A rotina deve possuir mecanismos explícitos para lidar com limitação de taxa (Rate Limits / 429 Too Many Requests) da API externa (ex: uso de sleep configurável ou fila do Celery rate-limited);
  • O processo deve ser incremental (utilizando parâmetros de filtro de data de atualização do OpenAlex, como from_updated_date) para otimizar o tempo e recurso de coleta;
  • Todos os erros de payload ou queda de requisição devem ser monitorados e, de algum modo, sinalizar que há necessidade de novas tentativas;
  • Devem ser criadas tarefas auxiliares de reprocessamento (retries) e reindexação, similares às de Preprints e Dataset;
  • Os dados ingeridos de Works precisam ser filtrados (não deve-se obter trabalhos com o campo is_xpac:True e indexados com sucesso no OpenSearch, nos moldes do raw_openalex_works.

Anexos

N/A

Referências

Metadata

Metadata

Labels

enhancementNew feature or request
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions