железобетонный инклуд

Старый mweb

Модератор: [mweb team]

железобетонный инклуд

Сообщение Hulio Пн мар 26, 2007 16:32

предистория:

на 20 (примерно) сайтах есть некий кусок кода в SSI который иполняецца в файлах разного расширения 8-)

Периодически приходицца этот кусок править вручную. Когда сайтов было 5-7, задача не представлялась особо сложной, но с ростом сети процесс "слегка" начинает доставать, поскольку файлов с этим включением уже не 20 а все 80

задача:
в принципе проблему можно решить забубенев некий файл на 1 сервер и брать с него. НО! бывают случаи когда часть сети отваливаецца, админов серверов обоссывает бык и придавливает забором на пару суток

тогда один сервер не может достучацца до другого, инклуд не исполницца

как сделать чтобы инклуд железобетонно работал и всегда подключался?

варианты:
1 сделать 2-3 файла на разных серверах и написать некое условие > нет коннекта > переходим на инклуд с сервер2 > нет и там > сервер3

2 кэширование на пару суток

собснно вопрос:
как решить такую задачу?
Hulio
Хронический Астматик
 
Сообщения: 1227
Зарегистрирован: Сб июл 13, 2002 0:01

Сообщение Sergey Ср мар 28, 2007 16:48

ну теор.часть мне больше понравилась из №1. тебе практика нужна?
Аватара пользователя
Sergey
Редко заходит
 
Сообщения: 278
Зарегистрирован: Пн июн 24, 2002 0:01
Откуда: Ришон ЛеЦион

Сообщение Muerto Ср мар 28, 2007 17:58

Наверное кэшировать всё таки лучше. Точнее заместо инклюда написать небольшую функцию, которая проверяет время создание удалённого файла и если оно больше времени файла, лежащего на самом серваке, то подкачивать его и заменять свой файл. В ином случае пользоваться пока локальным. Если не критично пользование пары дней старым инклюдом.
Можно и просто инклюд сделать с локала, а повесить на крон задачу каждый день скачивать удалённый файл. Это не решит вопрос срочного обновления, но уж затыков из-за недоступности файла точно не будет.
Ну, а если критично - развесить инклюд как в первом варианте. Главное тут не забывать обнавлять их во всех предназначеных для этого серверах.
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Hulio Ср мар 28, 2007 21:45

>ну теор.часть мне больше понравилась из №1. тебе практика нужна?

ага
можешь помочь? (небезвоздмездно)
Hulio
Хронический Астматик
 
Сообщения: 1227
Зарегистрирован: Сб июл 13, 2002 0:01

Сообщение Muerto Чт мар 29, 2007 10:21

2Hulio: На РНР это просто:
Код: Выделить всё
$servers = array ('http://first.com/include/include.php', 'http://second.com/include/include.php', 'http://third.com/include/include.php');
while (list(, $val) = each($servers)) {
    if ((include $val == 'OK')) {
        break;
    }
}

А SSI я синтаксиса не знаю.
Последний раз редактировалось Muerto Чт мар 29, 2007 13:51, всего редактировалось 1 раз.
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Hulio Чт мар 29, 2007 13:45

2 Muerto
ок, пасиб буду пробовать
Hulio
Хронический Астматик
 
Сообщения: 1227
Зарегистрирован: Сб июл 13, 2002 0:01

Сообщение Muerto Чт мар 29, 2007 13:52

2Hulio: Блин, я там ошибочку в коде по недосмотру допустил - уже исправил.
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron