Get запросы в ajax

12
M
На сайте с 03.06.2012
Offline
73
1584

Здравствуйте, я создал функцию prov() которая проверяет на наличие новых личных сообщений на сайте.


function prov() {
$.get('plug.php?r=pm_ajax&proj=1', {},
function(data) {
if (data>0) {
jQuery('#item3').addClass("Activeprjemp");
var audio = '<audio src="images/audio/3.ogg" autoplay></audio>';
document.getElementById("prj").innerHTML = audio;

}
});}

и с помощью setInterval запускаю функцию через 5 минут

setInterval(prov,300000);

в результате смотрю в server-status и вижу такую картину

6-1  23046 0/128/129 _ 12.55 46   53  0.0  1.36  1.36 95.28.186.91   mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0

7-1 23047 0/127/128 _ 12.86 0 56 0.0 1.44 1.44 188.16.217.2 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
8-1 23049 0/128/129 _ 11.22 46 69 0.0 1.18 1.18 95.28.186.91 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
9-1 23050 0/131/132 _ 12.10 0 56 0.0 1.34 1.34 188.16.217.2 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
10-1 - 0/0/81 . 7.49 3135 0 0.0 0.00 0.96 ::1 mysite.ru OPTIONS * HTTP/1.0
11-1 - 0/0/81 . 6.57 3133 0 0.0 0.00 0.94 ::1 mysite.ru OPTIONS * HTTP/1.0
12-1 23053 0/129/130 _ 8.95 79 55 0.0 1.15 1.15 213.154.222.81 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
13-1 23054 0/127/128 _ 11.49 60 56 0.0 2.62 2.62 188.16.217.2 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
14-1 - 0/0/80 . 7.52 3136 0 0.0 0.00 0.93 ::1 mysite.ru OPTIONS * HTTP/1.0
15-1 - 0/0/81 . 4.95 3134 0 0.0 0.00 0.77 ::1 mysite.ru OPTIONS * HTTP/1.0
16-1 23057 0/127/128 _ 11.46 60 60 0.0 1.54 1.54 188.16.217.2 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
17-1 - 0/0/80 . 4.81 3103 0 0.0 0.00 0.81 ::1 mysite.ru OPTIONS * HTTP/1.0
18-1 - 0/0/80 . 5.82 3138 0 0.0 0.00 0.77 ::1 mysite.ru OPTIONS * HTTP/1.0
19-1 23060 0/128/129 _ 7.96 37 59 0.0 1.13 1.13 46.229.140.69 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
20-1 23061 0/127/128 _ 9.39 63 57 0.0 1.33 1.33 37.55.24.118 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
21-1 23062 0/129/130 _ 6.58 90 69 0.0 1.21 1.21 46.73.8.13 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
22-1 23063 0/129/130 _ 10.13 65 55 0.0 1.27 1.27 37.19.175.94 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
23-1 848 0/53/82 _ 4.77 4 65 0.0 0.81 1.18 46.158.91.157 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
24-1 26894 0/98/98 _ 11.39 63 51 0.0 1.22 1.22 37.55.24.118 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
25-1 850 0/52/52 _ 3.48 79 62 0.0 0.46 0.46 213.154.222.81 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
26-1 852 0/51/51 _ 5.79 37 54 0.0 0.39 0.39 46.229.140.69 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
27-1 854 0/51/51 _ 3.67 33 70 0.0 0.53 0.53 176.8.213.158 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
28-1 856 0/53/53 _ 5.46 19 53 0.0 0.70 0.70 85.26.231.69 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
29-1 859 0/52/52 _ 2.57 65 56 0.0 0.53 0.53 37.19.175.94 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
30-1 861 0/52/52 _ 3.92 93 65 0.0 0.44 0.44 176.8.213.158 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0
31-1 882 0/51/51 _ 4.13 33 58 0.0 0.55 0.55 176.8.213.158 mysite.ru GET /plug.php?r=pm_ajax&email=1 HTTP/1.0
32-1 - 0/0/1 . 0.00 3137 0 0.0 0.00 0.00 ::1 mysite.ru OPTIONS * HTTP/1.0
33-1 887 0/51/51 _ 3.01 19 55 0.0 0.46 0.46 85.26.231.69 mysite.ru GET /plug.php?r=pm_ajax&proj=2 HTTP/1.0

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

siv1987
На сайте с 02.04.2009
Offline
427
#1
meverikxp:
те мой запрос одновременно запускается для всех пользователей что в принципе неправильно, подскажите в чем может быть проблема. Спасибо!

А для кого он только должен запускаться, и где у вас здесь в коде это проверяется/указано?

M
На сайте с 03.06.2012
Offline
73
#2
siv1987:
А для кого он только должен запускаться, и где у вас здесь в коде это проверяется/указано?

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

dkameleon
На сайте с 09.12.2005
Offline
386
#3

meverikxp, у вас все страницы на аяксе? перезагрузк документа нигде не происходит?

функция может первый вызов делать при создании таймера.

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

Дизайн интерьера (http://balabukha.com/)
M
На сайте с 03.06.2012
Offline
73
#4
dkameleon:
meverikxp, у вас все страницы на аяксе? перезагрузк документа нигде не происходит?
функция может первый вызов делать при создании таймера.
при перегрузке страницы как раз и происходит создание таймера

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

[umka]
На сайте с 25.05.2008
Offline
456
#5

Вы смотрите не в server-status, а в лог.

В server-status у вас апачевские слоты в статусе "Waiting for Connection"

Лог в помощь!
dkameleon
На сайте с 09.12.2005
Offline
386
#6
meverikxp:
Я в смысле что от всех пользователей одновременно действует этот запрос, а должен же работать у каждого свой таймер, например если 50 пользователей сейчас на сайте то я думаю что невозможно что бы сразу всех сработал гет запрос, такое чувство что он в них одновременно срабатывает?

а я в смысле того, что не известно, перегружаются ли у вас страницы полностью или гарантировано сплошная аякс навигация.

главный способ коллективной борьбы - внимательность :)

яваскрипты всегда запускаются от пользователя.

M
На сайте с 03.06.2012
Offline
73
#7
'[umka:
;11131117']Вы смотрите не в server-status, а в лог.
В server-status у вас апачевские слоты в статусе "Waiting for Connection"

в логах то же самое, скрипт запускается все время 5-8 раз в один миг, мотом через несколько секунд снова.

---------- Добавлено 26.11.2012 в 00:14 ----------

dkameleon:
а я в смысле того, что не известно, перегружаются ли у вас страницы полностью или гарантировано сплошная аякс навигация.

главный способ коллективной борьбы - внимательность :)

яваскрипты всегда запускаются от пользователя.

сплошной аякс навигации нет. Страницы полностью перегружаются

Заметил странный момент, я сделал так что бы в админа не запускался этот скрипт и его и нет в баге, но сервер статус все равно показывает что мой ип делает гет запрос к плагину

dkameleon
На сайте с 09.12.2005
Offline
386
#8
meverikxp:
сплошной аякс навигации нет. Страницы полностью перегружаются

тогда это скорее всего связано с проблемой.

проверил - все же таймер не запускает функцию сразу при создании объекта, но ваши слова:

meverikxp:
мотом через несколько секунд снова

заставляют думать, что где-то есть затык у вас в коде.

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

а как вы обрабатываете несколько одновременно открытых вкладок? они ведь все будут слать запросы.

ПС. покажите сайт, чтоли?

M
На сайте с 03.06.2012
Offline
73
#9
dkameleon:
тогда это скорее всего связано с проблемой.

проверил - все же таймер не запускает функцию сразу при создании объекта, но ваши слова:


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


а как вы обрабатываете несколько одновременно открытых вкладок? они ведь все будут слать запросы.



ПС. покажите сайт, чтоли?

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

dkameleon
На сайте с 09.12.2005
Offline
386
#10
meverikxp:
Сайт

зашел, посидел гостем десяток минут.

ни одного запроса от меня не поступило.

вы попробуйте в том скрипте куда-то в лог писать ИП, юзерагента, реферера и куки.

может быть это какие-то боты вас сканируют?

может кто-то спамилку написал под вас... хз.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий