Как реализовать фейковый блок "только что купили"?

Sergo_Sev

Творец
Регистрация
14 Июн 2008
Сообщения
578
Реакции
193
Интересует идея реализации
Требуется сделать блок "только что купили" и выводить якобы то, что купили несколько минут назад с указанием "19 минут назад, 25 минут назад"
Если сделать к примеру по крону, что бы было каждые 5 минут шло добавление нового товара в блок - как то топорно получается
Может сделать по числу заходов? Посетители просмотрели сайт 20 раз - добавился товар в блок
И стоит добавлять новый товар для этого блока в БД MySQL или же лучше сохранять всё к примеру в текстовый файл?

Нужно так же, что бы менялось время т.е. если посетитель попал на сайт, то он видит, что "купили 5 минут назад", а через 5 минут видит уже "купили 10 минут назад", а не ту же самую надпись

В общем как лучше такое реализовать?
 
Нужно по крону вызывать функцию, в которой, например:
1)выполняется рандомная задержка 1-10 минут;
2)добавляется по рандому товар в таблицу фиктивных покупок (можно ещё и рандомное количество, если товар типа батареек или другой расходки), в таблице также фиксируется время покупки;
3)блок отображения покупок берёт информацию из этой таблицы о скажем последних 3-5 покупках и отображает на сайте;
4)во многих скриптах магазинов есть блок типа популярного товара, можно попробовать его модернизировать под эти нужды.
 
1)выполняется рандомная задержка 1-10 минут;
К примеру использовать функцию sleep ?
Это не будет нагружать сервер лишним и постоянно висящим на выполнении процессом?
 
Да, sleep вполне подойдёт. Один дополнительный процесс, к тому же висящий, никак не повлияет на сервер, ни память не ест, ни процессор.
 
С рандомной задержкой 1-10 минут тоже топорно будет. Я бы еще учитывал разницу в посещаемости сайта по времени суток (а может и дням недели). Чтобы глубокой ночью, например, "покупали" реже, а в часы пик - чаще. Будет намного реалистичней.
Т.е. один cron срабатывает, к примеру, раз в 5 минут только с 9 до 20 часов:
*/5 9-20 * * *
Второй по ночам, но раз в 15 минут:
*/15 0-8,21-23 * * *
А через sleep уже рандомная задержка.

Это если хочется реализовать средствами cron.
 
Назад
Сверху