таймер типа скандинавского аукциона

Статус
В этой теме нельзя размещать новые ответы.

unlex

Новичок
таймер типа скандинавского аукциона

Интересует вопрос - каким образом корректно реализуется обратный отсчет в скандинавских аукционах?
По-моему для таких процессов нужен демон, который будет постоянно производить необходимые расчеты и возвращать
клиенту оставшееся кол-во секунд по каждому лоту.
Иначе представим ситуацию, что на сайте никого нет и опросов сервера от клиентов не будет, тогда что, аукцион остановится и повиснет? Да и сам расчет оставшихся секунд по каждому лоту занимает определенное серверное время и результат будет возвращаться с задержкой, идеального ежесекундного таймера не получится.
Только вот аукционов этих в нете как грибов сейчас. Неужели все они исползуют демонов, которых кстати не каждый хостер разрешает ставить?

Может кто в курсе, как это реализовать иначе?
 

Groove

Новичок
А почему просто нельзя хранить время закрытия лота, а каждому клиенту отдавать его по запросу?
Т.е. не клиент инициирует запуск счетчика, а вообще никакого счетчика нет, есть только дата и время закрытия, которая в качестве информации отдается пользователям по запросу.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
>Неужели все они исползуют демонов,
ага, все они используют демонов по имени crond
 

unlex

Новичок
ну так и есть. каким образом вычисляется оставшееся время это другой вопрос. суть в том что сервер при каждом запросе от клиента выдает кол-во оставшихся секунд до закрытия лота, а клиент лишь отображает. но опрос этот надо делать минимум раз в секунду. и каждый раз сервер должен произвести необходимые вычисления по каждому лоту, на которые тратится определенное время.
 

iceman

говнокодер
и каждый раз сервер должен произвести необходимые вычисления по каждому лоту, на которые тратится определенное время
рассчитывай яваскриптом, передав ему тока дату закрытия лота... +)

-~{}~ 07.06.09 14:45:

опрос этот надо делать минимум раз в секунду
не понял?
 

unlex

Новичок
рассчитывай яваскриптом, передав ему тока дату закрытия лота... +)
не так уж важно, так как для того чтобы определить дату закрытия, сервер также должен совершить вычисления, так как она може в любую секунду измениться.

принцип работы скандинавских аукционов знаешь?
 

weregod

unserializer
> принцип работы скандинавских аукционов знаешь?
развод на бабло, нормальный принцип
 

TutanXamoN

Новичок
unlex
ну тебя ведь всё-равно будет интересовать только кол-во времени от последней ставки вот и проходи кроном раз в минуту или две по всем лотам и если дата последней ставки больше заданного периода закрывай лот. Зачем каждую секунду считать?
 

unlex

Новичок
TutanXamoN
принцип таких аукционов в том, что счетчик идет на уменьшение, очередной юзер делает ставку по лоту и время увеличивается на n секунд. а это в любую секунду может произойти.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
unlex
ты сам-то понимаешь, что конкретно ты хочешь?
 

unlex

Новичок
grigori
зайди к примеру на megalots.ru, и посмотри в файербаге или где тебе удобней, что отправляется и приходит от сервера ежесекундно.
я хочу понять каким образом в течение секунды происходит обработка результатов по всем лотам на сервере и возвращается ответ, причем без проскоков и задержек.
 

TutanXamoN

Новичок
unlex
пля...
в базе есть дата последней ставки?
что мешает делать запрос и узнавать закрылся ли лот?
 

unlex

Новичок
ничего не мешает, вот только обращение к базе занимает какое-то время, верно? а запрос к серверу, запрос сервера к базе, ,формирование ответа,сам ответ, прием ответа на клиенте и его вывод должны происходить ежесекундно и следовательно занимать не более секунды.
получается здесь все упирается в быстродействие сервера и скорость канала?
 

TutanXamoN

Новичок
Здесь всё упирается в два понятия:
1. Отображение активности лота клиенту.
2. Закрытие лотов сервером

В первом случае ты с открытой клиентом страницы делаешь ежесекундный запрос о дате последней ставки(для одного, двух лотов ну или сколько у тебя там на странице).

Во втором случае кроном раз в определённое время проходишь по всем лотам и закрываешь устаревшие.
 

Groove

Новичок
Разница даже в пару секунд не критична, так как потом решение принимать ставку или нет все равно принимает сервер.
Но также кешировать раз в минуту список открытых лотов с датой и временем закрытия по крону, так как обращаться к базе каждую секунду для каждого клиента глупо.
Можно также расчет оставшихся секунд тоже возложить на клиента, а передавать саму дату и время закрытия в виде целого числа.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Автор оригинала: unlex
grigori
зайди к примеру на megalots.ru, и посмотри в файербаге
Мне-то зачем ?

я хочу понять каким образом в течение секунды происходит обработка результатов по всем лотам на сервере и возвращается ответ, причем без проскоков и задержек.
Типа, передача "хочу все знать" :)

Мало ли кто чего хочет, знаешь ли.

Будь добр, прочти ПРАВИЛА ФОРУМОВ
Задай вопрос (а не указание) и думай над ответами.
 

unlex

Новичок
TutanXamoN
все верно, я так и делаю, просто ответы на ежесекундные запросы не каждый раз вовремя приходят

grigori
Я так думал, что в теме "Offtopic" я могу даже задать вопрос типа "А почему у дворняг хвост крючком?" и ответить "А потому что гладиолус" и мне ничего не будет. Потому и открыл тему в офтопике.
Не можешь толком поучаствовать в обсуждении не стоит показывать свой статус.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху