Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RenanOliveira

Melhor prática para exibir informações que demoram pra processar

Recommended Posts

Bom dia a todos, estou montando um código que faz consulta a uma API, essa API retorna dados parecidos com o que postarei a seguir

 

{"informacoes": [{"id": 51]}

 

Simplifiquei para não exibir informações que não são necessárias para o que preciso

Após pegar essas informações eu uso o ID para pegar informações de uma segunda consulta que retorna

 

{"id": 51,
"title": "Consulta",
"name": "XXXXXXXX",
"key": "XXXXXXXXXX"
}

 

Fazer essas consultas e exibir o resultado não é o problema. O problema é a demora para fazer essas consultas, quando a primeira consulta me retorna muitas ID preciso consultar cada ID para retornar a key. Fazer essa consultas estão demorando de 3 a 7 segundos.

Essas informações são atualizadas a cada 7 dias então não há a necessidade de ter consulta em tempo real, já que durante 7 dias as informações serão as mesmas.

Qual a melhor prática para construir um código que faça essa consulta a cada 7 dias e gere um arquivo HTML com as informações. Detalhe eu não quero armazenar em banco de dados.

Por que quero disponibilizar para as pessoas adicionarem isso em seus blog/sites.

Espero que eu tenha conseguido ser claro na minha dúvida.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agende a execução desse script no cron.

 

Veja bem quando a rotina deve ser executada. A cada 7 dias todos são alterados de uma vez ou cada um é alterado a cada 7 dias, não necessariamente no mesmo dia? Se for a segunda opção, a tarefa deve ser executada todo dia, não somente a cada 7.

 

E pense bem se vai salvar em arquivo html. Seria bom ter os dados de forma estruturada, seja em arquivo XML, JSON, banco de dados ou outro recurso. Ficará mais fácil para consultar

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira consulta mudam todos os ID a cada 7 dias a segunda consulta é fixa, pois é somente para pegar as informações em relação aos ID gerados na primeira consulta. No caso a hospedagem que uso não me fornece o Cron no meu plano.

Eu pensei nessa situação agora a pouco.

 

Gero um página com as informações com extensão PHP

 

Nela eu iria escrever o timestamp de quando a página foi gerada. Toda vez que ela for acessada ela pega o timestamp atual e comparar os dois timestamp se a diferença for maior que 7 dias ele executaria a função que reescreve as informações da página.

Seria muito ruim usar essa lógica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu sistema precisa de uma rotina agendada, você precisa de um servidor que forneça esse recurso.

Sua alternativa deve funcionar, mas sempre algum usuário será o "sortudo" que vai esperar mais tempo.

 

O ideal seria verificar com o suporte se existe a possibilidade de habilitar o cron. Se não houver, sugiro usar outro servidor

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico feliz que essa lógica vai funcionar, agora sei que se um dia precisar posso usa-la.

Fui um pouco precipitado ao falar do Cron, na opção no painel de controle ele disse que somente para planos premium ou bussines, mas existia um cron escondido que consegui encontrar.

 

Agradeço muito pela atenção, foi muito gratificante postar essa dúvida aqui no fórum e espero também um dia ajudar com meu pouco conhecimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.