Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu quero economizar alguns processos que são realizado a cada carregada de pagina do meu site.
Bom.. Eu tenho um contador de usuarios online em um jogo. A cada 5 segundos esse contador faz uma recontagem e se atualiza via js(ajax).
OBS: Ele conta executando uma query remota fazendo um COUNT().
Bom isso provavelmente consome muita memoria inutil,a minha idéia seria. Manter um script rodando 24/7, e somente ele fazendo uma consulta a cada 5 segundos e atualizando uma variavel global.
Outra dúvida que eu tenho tb é qual a melhor forma de manter um script rodando 24/7? Cronjob a cada minuto usando sleep() para ele rodar a cada 5 segundos até o proximo cron começar? Que seria 12 sleeps de 5 segundos cada.
Essa seria a melhor forma de se fazer as coisas que eu expliquei? Qual é a melhor forma?
Grato.
@edit
Up? Eu posso dar ups nos meus tópicos '-'?
Vlw.. Vou escrever em txt mesmo ai posso até fazer um grafico..
E tpw não é meio porco fazer o que eu falei do cronjob?
E vlw denovo Matheus.
E tpw não é meio porco fazer o que eu falei do cronjob?
A ideia é fazer com cron jobs mesmo, para evitar que o processo morra. Você executa uma tarefa por hora, e com sleep administra o tempo de execução de cada instância. Só precisa cuidar para não permitir duas tarefas rodando em simultâneo.
[]'s
Orientações para uma boa participação :seta: 5 - Post UP:
As perguntas foram muitas, mas eu vou tentar focar onde notei que você está tendo dificuldade:
Você precisa que as pessoas tenham acesso à quantidade de visitantes online em simultâneo sem atualizar a página. Daí eu te pergunto: Essa informação é tão importante (ou sequer tão movimentada) para ser atualizada a cada CINCO segundos? Um mínimo de 30s já seria mais que suficiente, ao meu ver.
Já que é uma informação global que deve ser somente lida pelo usuário, não consigo apontar problemas em você iniciar uma tarefa com loop infinito e sleep(5) (ou mais), que escreva por exemplo num .txt essa informação, que seria lida com uso de setInterval pelo usuário. Pelo menos é a maneira mais fácil de resolver o problema.
Eu iria sugerir tópicos de estudo baseados na estratégia de server push, que é uma técnica que tem como principal objetivo trafegar informações do servidor para o cliente em tempo real (só há dados trafegados quando há alterações efetivas), porém, no seu caso, acredito que seria muito mais benéfico fazer uso da cron, uma vez que haveria um único motor de tratamento dos dados para a aplicação inteira, e o trabalho de leitura de poucos bytes em um .txt estático seria quase nulo.
Mas de qualquer forma, acho muito válido estudar a respeito.
Espero que tenha ajudado.
[]'s