Pergunta

Não, não estou tentando ver quantas palavras -chave posso jogar em um único título de pergunta.

Estou fazendo solicitações de descanso através do CURL no meu aplicativo PHP para alguns serviços da web. Essas solicitações precisam ser feitas com bastante frequência, pois grande parte do aplicativo depende dessa API. No entanto, há uma latência grave com os pedidos (2-5 segundos), o que apenas faz com que meu aplicativo pareça dolorosamente lento.

Enquanto estou no meio do caminho para uma solução com uma recomendação para armazenar em cache essas solicitações no Memcached, ainda não estou satisfeito com esse tipo de latência aparecendo no aplicativo.

Então, aqui estava o meu pensamento: posso implementar o Ajax-Polling em segundo plano para que o usuário nunca experimente a latência. As solicitações restantes/pesquisas de memcache serão feitas através do AJAX em um intervalo definido.

Mas tudo isso é realmente novo para mim e não tenho certeza se essa é a melhor abordagem. E se eu estiver no caminho certo, sei que o PHP + Apache não vai lidar com algo assim bem. Mas o PHP é o único idioma que eu conheço. Idealmente, gostaria de montar algo como Tornado em Python, mas não tenho certeza se estou super-engenharia agora ou não.

Quaisquer pensamentos aqui seriam úteis e muito apreciados.

Foi útil?

Solução

Esta foi uma reviravolta bem rápida, mas voltei e perfui meu aplicativo ecoando microtime() ao longo dos processos relevantes. Acontece que não estou paralelamente às minhas solicitações de cacho e é aí que tomo o verdadeiro sucesso. Demora aproximadamente 2 segundos para fazer isso, o que significa atrasos muito longos, enquanto cada solicitação de curl é feita em sucessão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top