Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
народ, помогите плз.... голова уже кипит а то =)
есть 3 сервера.
один рабочий, 2 помогают.
на рабочем сервере есть страница, на которой через фреймы подгружаются странички с двух других серверов.
необходимо сделать так, чтобы содержимое фреймов обноволялось каждое в своем ритме...
с этих 2х серверов запрашиваются скрипты, которые выполняются от 1 до 30 секунд, каждый раз по разному.. нужно чтобы после выполнения скрипта прошло 5 секунд, и потом фрейм обновился (отдельно фрейм, а не страница)
если вызывать напрямую эти скрипты и писать обновление - все работает.. а вот чтобы именно из фрейма шло - не получается.
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
alexspb
Отправлено: 26 Мая, 2010 - 07:06:44
Посетитель
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
как напрямую проблему решить не знаю, но если иначе поступить:
на основной странице делают ажакс-запросы к скрипту в своем домене, которые обращаются уже через php к другим серверам - там подготавливаются данные (формируется файл или запись в бд, возвращается идентификатор), а тогда обновлять ифрейм.
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
Вездеход
Отправлено: 26 Мая, 2010 - 10:11:55
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
alexspb
так проще не пользоваться другими серверами...
у меня один скрипт вызывается в 10 потоков (а скоро надо увеличить раза в 2-3). выполняется там жеская работа, из-за чего нужно долго ждать пока выполнится.
сейчас блоки грузятся очень плохо... так как браузер фигова работает с таким количеством потоков... не понятно только почему.
блоки грузятся в <div>-ы
гружу функцией load() от jquery.
вот поэтому разделяю работу между серверами. да и браузер пошустрее работает когда не с одного сервера куча данных идет..
скрипты знают сами чего надо делать. нужно ли как то заставлять фреймы перезагружаться "без использования рук"
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
alexspb
Отправлено: 26 Мая, 2010 - 12:05:39
Посетитель
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Вездеход пишет:
так проще не пользоваться другими серверами...
объясните почему проще?
какие проблемы решаются/возникают?
вы, наверное, не вникли в предлагаемую схему:
1) у вас быстро загружается нужная страница
2) на ней ажакс делает запросы к другому серверу (не грузя свой - по ссылке с параметрами запроса)
3) получая нужный отклик, тот же ажакс перезагружает фрейм на основной странице, а уже во фрейме берутся данные с друго сервера)
иначе: пункт 2) "активизирует" подготовку данных и сообщает об их готовности
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
Вездеход
Отправлено: 26 Мая, 2010 - 12:56:27
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
так. объясню еще раз.
у меня есть скрипт, который очень долго работает. до 30 секунд.
а мне нужно одновременно чтобы этот скрипт работал в 10-30 потоках.
если это все делать на одном домене(сайта) то браузер начинает тупить, а сервер медленно отвечает, так как выполняет скрипты...
поэтому хочу раскидать этот скрипт на поддомены и от туда уже подгружать его.
если я делаю через фреймы то по сути у меня выглядит все так, как будто открыты скрипты в ХХХ окнах с разных сайтов. по сути то что и нужно, так как браузер нормально работает так и сервер почему то шустрее пашет.
если делать обновление фреймов с основного сайта то скрипт может еще не успеть выполниться а произойдет обновление - из-за чего работа скрипта будет незавершенной...
если делать как вы предлагаете - т.е. подгружать через "типапрокси" - через свой сайт, то получается что основной сайт тянет страницы с других сайтов, а так как они выполняются долго, то и получается что у браузера все так же весят активные соединения по долгу с одинм браузером, и как следствие мы как минимум ничего не меняем, а может и наоборот - делаем еще хуже..
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
alexspb
Отправлено: 26 Мая, 2010 - 14:03:46
Посетитель
Покинул форум
Сообщений всего: 260
Дата рег-ции: Май 2010
Помог: 0 раз(а)
Вездеход пишет:
у меня есть скрипт, который очень долго работает. до 30 секунд.
может с него и начнем? наверняка можно оптимизировать либо запросы, либо код
Вездеход пишет:
поэтому хочу раскидать этот скрипт на поддомены и от туда уже подгружать его.
для сервера в общем это нагрузку особо не снижает (если только вы во фреймф не собираетесь подгружать результаты выполения разных по загруженности запросов к базе)
Вездеход пишет:
если делать как вы предлагаете - т.е. подгружать через "типапрокси" - через свой сайт, то получается что основной сайт тянет страницы с других сайтов
вы ничего не понял - я предлагал делать запросы, которые "запускаю" сторонний скрипт, причем из уже загруженной страницы. Никто ничего в таком случае не тенят и не ждет (все процессы независимо выполнялись бы)
т.е. "запуск" сторонних скриптов можно делать уже послее загрузки страницы в браузер
<body onload=function()>
и судя по тому, что вы описываете, нет необходимости использовать дополнительные поддомены
+ параллельно надо думать над оптимизацией самих скриптов
----- Хостинг - неограниченно доменов на одну папку Ajax - отличное введение
JustUserR
Отправлено: 27 Мая, 2010 - 16:06:45
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Вездеход пишет:
Если вызывать напрямую эти скрипты и писать обновление - все работает.. а вот чтобы именно из фрейма шло - не получается.
Можно конечно поступить следующим образом - поставить для определенного iframe-а обработчик onload и после того как страница в iframe-е полностью загрузится он сработает и вызовет функцию которая совершит обновление Но если вас интересует обновление в качестве взаимодействия между iframe-ами то можете использовать флаги - например глобальные window-переменные или location.hash - то есть HTML-страница внутри iframe-а выполняется и когда она считает что ее нужно перезапустить то устанавливает специальный флаг - и родительская статическая HTML-страница с помощью JS-скрипта этот флаг через определенный промежуток времени считывает и выполняет обновление
Также важно заметить что обработчик window-событий для iframe-а с точки зрения его исполюящегося JS-скрипта и с точки зрения JS-скрипта родительского документа это на самом деле одно и то же - разница только во времени и правилах установки этого обработчика
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.