Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Пожелания пользователей системы (http://forum.sape.ru/forumdisplay.php?f=15)
-   -   Может немного сменим алгоритм апдейта link.db? (http://forum.sape.ru/showthread.php?t=1415)

Kelkos 11.03.2007 18:56

Может немного сменим алгоритм апдейта link.db?
 
Сейчас это простое кэширование по таймауту. Помоему много лишнего кода, странности в работе(периодическая рассинхронизация с сервером), тормоза при недоступности сервера.
Вот какая мысль стукнула. Если скрипт системы разнести на 2 части.
1 - тупая клиентская часть. хапает links.db и цепляет из него ссылки.. обычный принцип работы. 20 строчек кода.. всё просто и понятно.
2 - updater. При обращении опрашивает сервер sape.ru и запрашивает обновления. Обновления складывает в link.db. Тоже крайне тупая часть...

А теперь маленькая фишка. Обращение к updater-у происходит самим сервером sape.ru ... Т.е. что то изменилось для данного сайта - система постучалась на апдейтер.. апдейтер обратился к серверу системы за новыми данными и сохранил в link.db .. Система лежит - никто в апдейтер не торкается.. сервер сапы недоступен? ну так файл не обновился.. на работе сайта эти траблы ВООБЩЕ не сказываются.. помоему удобно. а? разработчики?
помоему можно сииильно упростить клиентскую часть и сделать её надёжнее.

Avelon 11.03.2007 21:09

Re: Может немного сменим алгоритм апдейта link.db?
 
можно.

мы непрерывно думаем об этом.

спасибо за ваши идеи.

Ar2r 26.03.2007 02:36

Полностью поддерживаю.
Отдельно клиентскйи скрипт, а отдельно Updater.

И возможность задавать апдейтеру список сайтов + куда складывать файлы и в какие папки :-)
Что бы за один заход хапать ссылки :-)

Ar2r 26.03.2007 02:40

Кстати. Готов помочь в разработке клиентского скрипта =)
Впринципе щас к вам ничего не привязано. попробую ам написать, если получится =)

human 26.03.2007 07:31

Самый простой и надежный способ работы с SAPE заключается в следующем.
Есть два скрипта;
1. Скрипт загрузки - загружает данные с диспенсера и сохраняет их в файл links.db (или с другим именем) в каталог с именем SAPE_USER (или любой другой удобный каталог ). Этот скрипт запускается кроном каждый час. При этом при недоступности диспенсера проверяется также его зеркало.
2. Скрипт отображения ссылок - читает файл links.db и показывает ссылки в желаемом формате (например, табличкой). Этот скрипт включается в любую страницу площадки в нужном месте.

При таком подходе абсолютно невозможны какие-либо торможения на сайте, т.к. его страницы вообще не знают о существовании SAPE.
Спасибо разработчику SAPE за грамотно организованную структуру данных :-)

У меня такой подход реализован уже с полмесяца. И все работает как часы. Хотя диспенсер бывает регулярно недоступен (обычно по утрам).
Оба скрипта работают независимо (не используют класс sape.php)

Ar2r 26.03.2007 13:35

Добрый человек, а не могли бы вы поделиться вашей разработкой? :-)
Думаю многим пригодилось бы.

Хотябы скрипт, который конектится к диспенсеру, скачивает и складывает все :-)

enn 26.03.2007 13:48

Скрипт, который скачивает по крону и скрипт, который выдает на сайте - это один и тот же скрипт с разными параметрами :) Обсуждалось тут: http://forum.sape.ru/viewtopic.php?t=130
У меня уже давно работает без единого глюка...

human 26.03.2007 14:37

Цитата:

Сообщение от enn
Скрипт, который скачивает по крону и скрипт, который выдает на сайте - это один и тот же скрипт с разными параметрами :) Обсуждалось тут: http://forum.sape.ru/viewtopic.php?t=130
У меня уже давно работает без единого глюка...

Эта тема была в начале февраля, а я подключился к системе позже, поэтому не видел ее. Почитал сейчас. Мудрено там все очень предлагается :-)
Если человек знает PHP, то напишет скрипт самостоятельно (например, для вывода ссылок достаточно написать 3 строчки кода).
А если не знает, то это лучший способ, чтобы его еще больше запутать.
Для такого пользователя нужен простой скрипт без настроек, работающий по принципу "как есть".
Класс sape.php написан универсально на все случаи жизни (и это правильно), в нем одних только параметров аж 16 штук !
Поэтому использовать его в варианте вс кроном - большая избыточность и разобраться в возможных проблемах будет трудно. Да и разбираться в проблемах в такой ситуации (при нештатном использовании скрипта) вряд ли кто возьмется.
Впрочем, я не буду никого отговаривать :-) Рискните ...

Если кому-то вариант с кроном интересен - пишите в личку, попытаюсь помочь.

enn 26.03.2007 15:10

Если выполнить все, что я там написал (в общем-то несложно, copy-paste :)), единственная внештатная ситуация, которая может быть - много людей поставят крон на начало часа ("каждый час"), т.е. с 57й по 3ю минуту запуск этого крона ставить не надо, а цифру между 4 и 56 выбирать случайно и для разных сайтов разную :)

human 26.03.2007 17:39

Цитата:

Сообщение от enn
Если выполнить все, что я там написал (в общем-то несложно, copy-paste :)), единственная внештатная ситуация, которая может быть - много людей поставят крон на начало часа ("каждый час"), т.е. с 57й по 3ю минуту запуск этого крона ставить не надо, а цифру между 4 и 56 выбирать случайно и для разных сайтов разную :)

Ну да, работать будет - разве кто-то против ? :-)
Работает ведь этот скрипт в штатном режиме (без крона), хотя бывают и проблемы.
Но представьте себе, что у кого-то эти проблемы при работе с кроном возникнут. Например, ссылки в ERROR'е окажутся.
Что тогда ? Как разбираться - в чем причина ?
Вопрос: какое сообщение придет от крона на e-mail, если диспенсер висит ?


Часовой пояс GMT +3, время: 10:15.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.