[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: поставить ограничение на выполнение скрипта
петр
и вам привет!
над ограничить количество загрузок одной и тойже страницы в определ. промежуток времени,
если юзер по нескольку раз перезапрашивает одну и туже страницу, то нужно выдавать ему последний вариант а выполнение остальных(запрошенных до этого) обрубать!

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

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

подскажите если не лень/не жалко/не в лом какойнить толковый вариантец на такой случай?



Спустя 50 минут, 6 секунд (13.11.2010 - 12:02) Семён написал(а):
Это называется кеширование. smile.gif

Спустя 2 часа, 9 минут, 40 секунд (13.11.2010 - 14:12) петр написал(а):
кеширование непокатит, запросы формируются динамически, и как быть если юзер 20 раз меняет значения какихто параметров на странице и посылает запрос каждый раз разные запросы

Спустя 8 минут, 30 секунд (13.11.2010 - 14:21) Семён написал(а):
Есть такой афоризм, он как раз уместен для тебя, вы это как сейчас и сделали.
Вырази ложную мысль ясно, и она сама себя опровергнет. 

Спустя 11 минут, 58 секунд (13.11.2010 - 14:33) петр написал(а):
>Есть такой афоризм, он как раз уместен для тебя, вы это как сейчас и сделали.
>
Вырази ложную мысль ясно, и она сама себя опровергнет. 

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

а можно примерчег )

Спустя 9 минут, 4 секунды (13.11.2010 - 14:42) Семён написал(а):
Вообщем, все мои высказывания ведут к тому, что ваша идеология уменьшения нагрузки на сайт - была изначально провальной.
В теории вы хотите чтобы сервер знал заранее сколько пользователь натыкает запросов к нему и выполнил только последний, понимаете о чём я? Хотите тоже самое, только с более правильной стороны, вернитесь к моему 1-ому посту в этой теме на счёт понятия Кеширования, как это будет работать? Смотрите:
Пользователь делает допустим 20 запросов за 1 секу.
Сервер обрабатывает лишь первый запрос, затем сохранять результат и на оставшиеся 19 выдавать первый результат, при этом установить время кеша.
Так работают почти все сайты, где есть такая необходимость. А вообще могу посоветовать вам Smarty - template engine, там встроенный кеш компиляций страниц и соответственно их кеш

Спустя 29 минут, 49 секунд (13.11.2010 - 15:12) петр написал(а):
Цитата
Пользователь делает допустим 20 запросов за 1 секу.
Сервер обрабатывает лишь первый запрос, затем сохранять результат и на оставшиеся 19 выдавать первый результат, при этом установить время кеша.

так в том то и проблема, надо выдавать не первый запрос а последний натыканый юзером за определенное время,

например юзер загрузил страницу, затем в течении 5 секунд натыкал ещё 20 запросов с разными параметрами(тоесть и результирующие страницы тоже разные) и выдается ему тока последний результат за 5 сек, даже если после этих 5сек ещё натыкал нескока запрософ, всеравно потом он получет тока последний результат не ранее чем через 5 сек. и так далее

Спустя 26 минут, 9 секунд (13.11.2010 - 15:38) Семён написал(а):
Как правило, я делю людей, которые что-то спрашивают на 3-и категории:
Цитата
1) Есть люди, которые хотят думать, но не понимают некоторые вещи.
2) Есть категория людей, которые не хотят думать и ждут готового решения.
3) Есть люди, которые не понимают те или иные вещи, но просят помощи, но им плевать на неё потомучто они считают, что их алгоритм всё равно будет самым верным.


По результату, Вы относитесь к 3-ей

Спустя 2 минуты (13.11.2010 - 15:40) DmitryOpalev написал(а):
А 4х нету? Который хотят помощи, и думают мозгами?

Спустя 3 минуты, 2 секунды (13.11.2010 - 15:43) Семён написал(а):
Цитата (DmitryOpalev @ 13.11.2010 - 16:40)
А 4х  нету? Который хотят помощи, и думают мозгами?

Это п.1, хотят думать / думают , в моём понимании здесь одно и тоже smile.gif
В данном случае, человек хочет ездить задом по встречке и когда ему говорят нада ездить не задом, а передом по своей полосе, он говорит: "да ну на! я хочу задом по встречке", что для этого нужно сделать? Ему отвечают ну нельзя ездить по встречке, да и ещё и задом! А он в свою очередь... нееее так дела не пойдут, мне нада задом найти способ :DDDD Дебильное конечно сравнение, но в чёмто аналогия есть.

Спустя 7 минут, 41 секунда (13.11.2010 - 15:50) DmitryOpalev написал(а):
А мне не понятно (просвятите)... сервер и так последний запрос обрабатывает... а все незаконченные закрывает...

Спустя 10 минут, 55 секунд (13.11.2010 - 16:01) Семён написал(а):
Цитата (DmitryOpalev @ 13.11.2010 - 16:50)
А мне не понятно (просвятите)... сервер и так последний запрос обрабатывает... а все незаконченные закрывает...

А ему нада чтобы он выполнял только последний, а не предыдущие (которые также выполняются, но просто не выводятся на экра), масло масляное.

Спустя 9 минут, 30 секунд (13.11.2010 - 16:11) DmitryOpalev написал(а):
Ну вот я и пишу, что это уже и так... по умолчанию...

Спустя 2 минуты, 37 секунд (13.11.2010 - 16:13) DmitryOpalev написал(а):
Всмысле? Разве не так?... unsure.gif

Спустя 8 минут, 45 секунд (13.11.2010 - 16:22) пеТр написал(а):
>А мне не понятно (просвятите)... сервер и так последний запрос обрабатывает... а все незаконченные закрывает...
он их не закрывает, он их выполняет до конца а потом уже отправляет юзеру, но тока последний из них,
а мне надо чтобы он не выполнял их а сразу обрубал как появляется новый запрос, точнее чтобы они сами себя душили, сами определяли что запущена новая версия этогоже скрипта с другими параметрами и душили себя,

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

Спустя 12 минут, 30 секунд (13.11.2010 - 16:35) DmitryOpalev написал(а):
А можно к каждому скрипту сделать sleep(1)... незаметно, но обработать успеет...

Спустя 5 минут, 9 секунд (13.11.2010 - 16:40) Семён написал(а):
Закройте тему biggrin.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.