Como guardar resultados em cache baixando dados de uma API?

Oi pessoal. Bom dia.

Gostaria de saber se há alternativas para quando estamos baixando dados em formato json de uma api, repetindo a coleta utilizando um map simples e, no meio de zilhares de coleta, um danado dá erro e para tudo.

Dessa forma, tenho que reiniciar a coleta lá do início, pq perdi o que tinha até então. Tem alguma forma de ir salvando os dados enquanto baixa? Vi alternativas de guardar em cache utilizando o memoise mas não entendi direito.

Peço desculpas por não ter código, mas acho que podemos conversar. rsrsr

Eu acho que você tem duas opções principais: usar a possibly() para tratar erros ou a write_json() para salvar os resultados no final de cada iteração:

  • A possibly() captura erros e retorna um valor estabelecido por você (NULL, por exemplo). A documentação dela está aqui.

  • Se você usar a write_json() do jsonlite dentro da sua função de coleta, é possível salvar o JSON resultante em um arquivo no seu computador sem depender do map() terminar de rodar. A documentação dela está aqui.

Oi Caio.

Peços mil desculpas por não retornar antes. Utilizei a função possibly() e safely() e me ajudou bem. Valeu mesmo.