Sobre o projeto
Este projeto é voltado para cenários que exigem a coleta contínua e oportuna de dados ambientais, fornecendo um esquema de raspagem e arquivamento automático baseado em GitHub Actions. O README indica que a abordagem foi referenciada de HeQinWill/CNEMC, com melhorias na estabilidade e no método de agendamento. Atualmente, suporta a atualização de dados de monitoramento ambiental em tempo real do CNEMC, com a funcionalidade de dados de radiação de onda curta (SWR) do satélite Himawari em intervalos de 10 minutos planejada.
O projeto arquiva os resultados da raspagem em arquivos CSV por data. Os usuários podem carregar rapidamente dados horários via links raw.githubusercontent ou obter a lista de arquivos de um dia específico através da GitHub Contents API. Um dos objetivos centrais é evitar problemas de atraso ou falhas de disparo que podem ocorrer com o cron nativo do GitHub Actions; por isso, recomenda-se o uso de gatilhos externos: uma Cloud Function que chama periodicamente a interface Workflow Dispatch oficial do GitHub para disparar remotamente o workflow especificado.
Quanto à configuração, é necessário definir um Actions secret no repositório do projeto: nome GTOKEN e valor como o Personal Access Token. O token deve ser do tipo classic, com permissões de 'repo' e 'workflow' marcadas; sem a permissão de 'workflow', não será possível disparar o workflow_dispatch via API. Sobre a plataforma de Cloud Functions, o README afirma que a Tencent Cloud Function (SCF) foi validada, embora teoricamente qualquer plataforma que suporte requisições HTTP e gatilhos temporizados possa implantar a solução. Na implantação, sugere-se que parâmetros críticos como repo_owner, repo_name e workflow_name sejam escritos como constantes de string ou hardcoded, evitando a perda de parâmetros, falhas de análise de variáveis de ambiente ou exceções causadas pela passagem de parâmetros via event/context. O código de exemplo utiliza a biblioteca requests para enviar uma requisição POST para a API do GitHub, com payload ref=main e código de status de sucesso 204.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.