Oi Eric, O fluxo que imaginei mas não sei se é o melhor: A página é carregada ( busca no banco de dados os detalhes do produto e seu horário de fim da promoção ), mostra o produto para o cliente, e deixa o horário num campo hidden (ou uma variável em javascript mesmo) com o horário do fim. O javascript 'onload' pega a hora atual do cliente e começa a contagem regressiva mostrando o relógio. [até aqui o cliente não clicou em nada = uma requisição com consulta ao banco] De tempos em tempos, por exemplo, 10 minutos, há uma requisição ajax somente para sincar a hora atual do cliente com a hora do servidor. [até aqui o cliente ainda não clicou em nada houve + uma requisição somente para retornar a hora do servidor sem consulta ao banco; A javascript confere a hora que está considerando como atual com a do servidor ] Quando cliente clicar em "quero este item" aí vai um request e no servidor há a validação do produto, hora do fim, etc...consultados no banco de dados.
Abs Edinho Almeida 11 8018-8019 2010/10/21 Eric Saboia <[email protected]> > Edinho, > 1 - Como assim sem consulta ao banco? você vai gravar os produtos e tempo > de término como? > 2 - Concordo nesse aspecto, mas em 10 minutos, dúvido que um contador > javascript fique mais do que 3 segundos desincronizado, por isso falei a > pouco que no máximo deveria existir esse tipo de sincronização em intervalos > de aproximadamente 10 minutos, e não segundo a segundo. > 3 - Se travar, acredito que a contagem pare sim, mas acho que isso são > exceções, não vale a pena sacrificar o desempenho de um serviço por > exceções, é melhor perder esses clientes. > 4 - Continuo sem entender o porque do campo hidden. > > > 2010/10/21 Edinho Almeida <[email protected]> > >> Oi Eric, >> 1 - Acho (sem testar) que pode ser bem mais rápida um requisição sem >> consulta ao banco. Inclusive pode ser melhor ainda fazer um php puro para >> retornar somente a hora. >> 2 - Me refiro a segurança de que o relógio informado ao cliente esteja >> batendo com a hora do servidor. O cliente pode ver lá que "Faltam 30 >> segundos" então dá um submit e em 3 segundos a página retorna e diz "tempo >> encerrado". Gera frustação ao cliente. >> 3 - Meu laptop celeron trava. Mas realmente se isso faz uma regressiva no >> javascript congelar eu não testei. Em vez de regressiva fazer a cada segundo >> uma nova leitura do horário do javascript deve resolver. Mas insisto ainda >> em saber se o horário do cliente está batendo com o do servidor. >> 4 - Concordo com você. A validação do lado do servidor sempre é >> obrigatória. Não faço nada sem validar no servidor. >> O campo hidden seria para evitar a consulta ao banco durante a requisição. >> No submit é feita uma consulta ao banco para conferir o horário de fim. >> >> Abs >> Edinho Almeida >> 11 8018-8019 >> >> >> 2010/10/21 Eric Saboia <[email protected]> >> >> Nossa, vamos lá: >>> >>> 1 - Requisição ao banco ou ao servidor, só depende da ótica, o client >>> requisita o servidor, se esse precisa ir ao banco buscar a informação, tanto >>> faz.. >>> 2 - Requisição ajax vai aumentar a segurança? >>> 3 - Máquina travar por 1 minuto? oO >>> 4 - Correto, o banco só precisa ter a hora de término, agora HIDDEN com >>> essa hora? você NUNCA pode confiar na informação que vem do cliente, isso é >>> regra número 1 de segurança. e é por esse motivo que o cronômetro ser por >>> ajax ou javascript independe na segurança, pois você não deve confiar nessa >>> informação pra aceitar ou não o lance. Como eu já disse anteriormente, a >>> verificação do tempo tem que ser feita NO servidor, por mais que o >>> cronometro ainda mostre tempo maior que zero, se a verificação no servidor >>> mostrar que o tempo encerrou, a requisição não pode ser aceita. >>> >>> 2010/10/21 Edinho Almeida <[email protected]> >>> >>> Amigos. >>>> Pelo que entendi não é requisição ao banco e sim ao servidor para buscar >>>> a hora do servidor, ou não? >>>> Realmente será um request ajax por segundo, porém a segurança de que o >>>> horário está sendo obedecido é maior. >>>> Se a máquina do cliente travar por um minuto quando houver a nova >>>> requisição a data voltará correta. >>>> >>>> No banco fica somente a hora do fim. que é lida só quando a página >>>> carrega. >>>> O Ajax busca o horário do servidor e o javascript faz a conta com o >>>> horário do fim que está num campo hidden. >>>> Daria para equilibrar segurança com redução de requests fazendo o >>>> javascript fazer a regressiva, mas de 15 em 15 segundos, por exemplo fazer >>>> uma requisição para aferir o horário. >>>> >>>> Abs >>>> Edinho Almeida >>>> 11 8018-8019 >>>> >>>> >>>> 2010/10/21 Leonardo Grillo <[email protected]> >>>> >>>>> 1 requisição ao banco por segundo só para isso? acho meio que >>>>> desnecessário... >>>>> Se você paga um servidor de hospedagem por trafego, imagine se 1.000 >>>>> pessoas acessam o seu site por dia, ficam vendo este cronometro por 10min >>>>> e >>>>> que esta tarefa gere um fráfego de 1kb por requisição. é só multiplicar: >>>>> 585.9375mb por dia! >>>>> >>>>> Em 21 de outubro de 2010 11:00, Eric Saboia <[email protected]>escreveu: >>>>> >>>>> Acho essa abordagem horrível. De qualquer forma você não irá garantir >>>>>> a precisão do cronômetro pelo delay que a requisição via ajax leva, além >>>>>> de >>>>>> gerar uma porrada de requisições que podem afetar o desempenho do >>>>>> serviço. >>>>>> >>>>>> 2010/10/21 Tiago Davi <[email protected]> >>>>>> >>>>>> Nossa.. rs de 1s em 1s o servidor fica fazendo requisições e com >>>>>>> acessos concorrentes? >>>>>>> >>>>>>> Acho que estou tentando ir pelo caminho mais difícil e não estou >>>>>>> exergando o mais simples. >>>>>>> >>>>>>> Gostei da solução mas isso não prejudica a performance em um servidor >>>>>>> compartilhado? >>>>>>> >>>>>>> Parabéns pelos sites, muito bom mesmo. >>>>>>> >>>>>>> Em 21 de outubro de 2010 11:50, Allan Torres ( Hazi) < >>>>>>> [email protected]> escreveu: >>>>>>> >>>>>>> Gente, >>>>>>>> Construi alguns desses , www.japegou.com.br , >>>>>>>> www.liquidatagua.com.br e to vendendo a solução também para alguns >>>>>>>> estados, graças a deus ta começando bem legal, mas esse contador >>>>>>>> funciona >>>>>>>> com um ajax bem simples, pois você cadastra o horario de inicio, e >>>>>>>> horario >>>>>>>> final, juntamente com a data, dai é fazer uma requisição ajax que de 1 >>>>>>>> em 1 >>>>>>>> segundo busque a informação e traga ao site, o complicado as vezes é a >>>>>>>> questão de fuso horario dos servidores mas facilmente resolvido com >>>>>>>> uma soma >>>>>>>> de mais ou menos horas... >>>>>>>> >>>>>>>> >>>>>>>> Abraços, precisando de alguma coisa relacionada a esse tipo de >>>>>>>> sistemas, to por aqui, >>>>>>>> Mandem PVT. >>>>>>>> >>>>>>>> allan Torres >>>>>>>> >>>>>>>> >>>>>>>> 2010/10/21 Roberto Almeida Quilice Longhi <[email protected] >>>>>>>> > >>>>>>>> >>>>>>>> Tiago, >>>>>>>>> >>>>>>>>> Concordo que parte tem que ser feita em javascript e parte no >>>>>>>>> servidor. >>>>>>>>> Eu faria dessa forma para não ficar fazendo requisição no servidor >>>>>>>>> se é algo que o cliente pode resolver. >>>>>>>>> >>>>>>>>> Porém não entendi o paragrafo abaixo: >>>>>>>>> >>>>>>>>> "Pois em windows você pode programar a execução de um método >>>>>>>>> automaticamente mas agora em linux.. ai é que são elas." >>>>>>>>> O que tu quis dizer com isso ? >>>>>>>>> >>>>>>>>> Em 21/10/2010 11:22, Tiago Davi escreveu: >>>>>>>>> >>>>>>>>> Interessante, fiquei analisando esses sites de compras coletivas e >>>>>>>>> tenho quase certeza que eles funcionam com Asp.net.. >>>>>>>>> Pois em windows você pode programar a execução de um método >>>>>>>>> automaticamente mas agora em linux.. ai é que são elas. >>>>>>>>> >>>>>>>>> >>>>>>>>> Em 21 de outubro de 2010 11:18, Lucas <[email protected]>escreveu: >>>>>>>>> >>>>>>>>>> Na parte da visualização (Front End) é JavaScript... Agora, você >>>>>>>>>> pode fazer um esquema de ajax, para sincronizar o relógio de tempo >>>>>>>>>> em tempo, >>>>>>>>>> tendo consulta no banco ou não.. e quando "zerar" o cronometro, você >>>>>>>>>> também >>>>>>>>>> faz uma requisição ajax para certificar que o tempo foi "acabado"... >>>>>>>>>> Eu faria assim. >>>>>>>>>> >>>>>>>>>> Em 21 de outubro de 2010 11:15, Tiago Davi <tiago.asp.net@ >>>>>>>>>> gmail.com> escreveu: >>>>>>>>>> >>>>>>>>>>> Bom dia galera. >>>>>>>>>>> >>>>>>>>>>> Gostaria de saber se é possível em PHP fazer um cronômetro no >>>>>>>>>>> estilo Peixe Urbano de forma que fique contando o tempo >>>>>>>>>>> automáticamente no >>>>>>>>>>> servidor mesmo >>>>>>>>>>> sem a execução do script. >>>>>>>>>>> >>>>>>>>>>> Por exemplo: >>>>>>>>>>> >>>>>>>>>>> Um usuário entrou e viu uma oferta que tem 01:20:00, o mesmo >>>>>>>>>>> saiu da página e ficou 1h fora e quando voltou o tempo estava em >>>>>>>>>>> 00:20:00. >>>>>>>>>>> >>>>>>>>>>> Alguém tem idéia de como fazer isso de forma eficiente em um >>>>>>>>>>> servidor linux? >>>>>>>>>>> >>>>>>>>>>> Att. >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>>>>>> http://tiagoaspnet.blogspot.com >>>>>>>>>>> >>>>>>>>>>> Política e outros temas: >>>>>>>>>>> http://socorrobr.blogspot.com/ >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> [email protected] >>>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>>> >>>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>>> >>>>>>>>>>> --------------------------- >>>>>>>>>>> Oportunidade de negócio >>>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>>> --------------------------- >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Att. >>>>>>>>>> Lucas H. J. Sigaki >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> [email protected] >>>>>>>>>> http://www.codeigniter.com.br >>>>>>>>>> >>>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>>> >>>>>>>>>> --------------------------- >>>>>>>>>> Oportunidade de negócio >>>>>>>>>> http://www.franquiasargohost.net >>>>>>>>>> --------------------------- >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>>>> http://tiagoaspnet.blogspot.com >>>>>>>>> >>>>>>>>> Política e outros temas: >>>>>>>>> http://socorrobr.blogspot.com/ >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________li...@codeigniter.com.brhttp://www.codeigniter.com.brhttp://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>> >>>>>>>>> --------------------------- >>>>>>>>> Oportunidade de negóciohttp://www.franquiasargohost.net >>>>>>>>> --------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Roberto Almeida Quilice Longhi >>>>>>>>> Folha de Pagamento - Web >>>>>>>>> Ramal: 1406 >>>>>>>>> Tel: (11) 8599-9022 >>>>>>>>> Programação Contmatic >>>>>>>>> >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> [email protected] >>>>>>>>> http://www.codeigniter.com.br >>>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>>> >>>>>>>>> --------------------------- >>>>>>>>> Oportunidade de negócio >>>>>>>>> http://www.franquiasargohost.net >>>>>>>>> --------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Allan Torres >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> [email protected] >>>>>>>> http://www.codeigniter.com.br >>>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>>> >>>>>>>> --------------------------- >>>>>>>> Oportunidade de negócio >>>>>>>> http://www.franquiasargohost.net >>>>>>>> --------------------------- >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Tiago Davi - Desenvolvedor Web. >>>>>>> http://tiagoaspnet.blogspot.com >>>>>>> >>>>>>> Política e outros temas: >>>>>>> http://socorrobr.blogspot.com/ >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> [email protected] >>>>>>> http://www.codeigniter.com.br >>>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>>> >>>>>>> --------------------------- >>>>>>> Oportunidade de negócio >>>>>>> http://www.franquiasargohost.net >>>>>>> --------------------------- >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Eric Saboia - eric.saboia.org >>>>>> PHP Zend Certified Engineer >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> [email protected] >>>>>> http://www.codeigniter.com.br >>>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>>> >>>>>> --------------------------- >>>>>> Oportunidade de negócio >>>>>> http://www.franquiasargohost.net >>>>>> --------------------------- >>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> [email protected] >>>>> http://www.codeigniter.com.br >>>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>>> >>>>> --------------------------- >>>>> Oportunidade de negócio >>>>> http://www.franquiasargohost.net >>>>> --------------------------- >>>>> >>>>> >>>> >>>> _______________________________________________ >>>> [email protected] >>>> http://www.codeigniter.com.br >>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>>> >>>> --------------------------- >>>> Oportunidade de negócio >>>> http://www.franquiasargohost.net >>>> --------------------------- >>>> >>>> >>> >>> >>> -- >>> Eric Saboia - eric.saboia.org >>> PHP Zend Certified Engineer >>> >>> >>> _______________________________________________ >>> [email protected] >>> http://www.codeigniter.com.br >>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >>> >>> --------------------------- >>> Oportunidade de negócio >>> http://www.franquiasargohost.net >>> --------------------------- >>> >>> >> >> _______________________________________________ >> [email protected] >> http://www.codeigniter.com.br >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br >> >> --------------------------- >> Oportunidade de negócio >> http://www.franquiasargohost.net >> --------------------------- >> >> > > > -- > Eric Saboia - eric.saboia.org > PHP Zend Certified Engineer > > > _______________________________________________ > [email protected] > http://www.codeigniter.com.br > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > --------------------------- > Oportunidade de negócio > http://www.franquiasargohost.net > --------------------------- > >
_______________________________________________ [email protected] http://www.codeigniter.com.br http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

