Executando verificação de segurança...
2

(AJUDA) estou com um duvida em relação a leitura de uma api em php

Bom, não sei se posso postar duvidas aqui, ou só conteudo, mas acredito que as respostas dessa duvida possa ajudar outras pessoas.

Minha duvida é a seguinte, eu tenho uma api, bem simples, que me fornece resultados de um determinado jogo, oque eu queria, era fazer a leitura e salvar em tempo real esses resultados, que se atualizam a cada 30 segundos, queria deixar o minimo de delay possivel pra ter esses novos dados no banco de dados, eu fiz uma gambiarra aqui com php aonde eu uso o Cron, mas algumas informações simplismente não vem, alguem tem ideia de como fazer isso da forma mais otimizada possivel? mantendo sempre o minimo de delay e usando o minimo de recurso possivel do servidor, a linguagem que utilizo para isso é o php.

Carregando publicação patrocinada...
2

falando de maneira simples seria isso, você cria um arquivo que busca na API os resultados se a resposta da API for a que você já tem no banco use um "DIE;" se for diferente realiza o cadastro, acredito que pode ser feito oque se a API atualiza a cada 30 segundos você vai buscar a cada 10 segundos assim 2 requisições suas vão cair no "DIE;" e uma no cadastro.
na teoria seria apenas isso.

1

Sim, a api tem uma atualização a cada 30 segundos, sincronizar a captura com a api seria dificil, entao estou rodando essa captura a cada 15 segundos no cron, e o arquivo que o cron executa tem um loop infinito pra ele ficar capturando direto, dai coloquei um tempo de encerração desse arquivo em 15 segundos tbm, pra não matar o servidor

1
1

Você pode fazer perguntas sim no TabNews 🤝

Sobre sua dúvida, a única forma que vejo de ter a menor latência possível é você fazer um pub/sub (Publish–subscribe pattern) contra os dados originais, mas isso vai depender que esse jogo forneça esse tipo de API (que duvido ser o caso).

Mas nessa estratégia você inverte a relação e para de pedir por dados novos, você apenas aguarda que o servidor chame você (um endpoint seu, também conhecido como webhook).

1

Eu não consegui entender muito bem o seu problema.
Você agendou uma task no cron pra cada 30min e essa task faz uma consulta na API, mas não está dando certo? Rodando ela manualmente traz o que você precisa?