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
---------------------------

Responder a