![]() |
Может немного сменим алгоритм апдейта link.db?
Сейчас это простое кэширование по таймауту. Помоему много лишнего кода, странности в работе(периодическая рассинхронизация с сервером), тормоза при недоступности сервера.
Вот какая мысль стукнула. Если скрипт системы разнести на 2 части. 1 - тупая клиентская часть. хапает links.db и цепляет из него ссылки.. обычный принцип работы. 20 строчек кода.. всё просто и понятно. 2 - updater. При обращении опрашивает сервер sape.ru и запрашивает обновления. Обновления складывает в link.db. Тоже крайне тупая часть... А теперь маленькая фишка. Обращение к updater-у происходит самим сервером sape.ru ... Т.е. что то изменилось для данного сайта - система постучалась на апдейтер.. апдейтер обратился к серверу системы за новыми данными и сохранил в link.db .. Система лежит - никто в апдейтер не торкается.. сервер сапы недоступен? ну так файл не обновился.. на работе сайта эти траблы ВООБЩЕ не сказываются.. помоему удобно. а? разработчики? помоему можно сииильно упростить клиентскую часть и сделать её надёжнее. |
Re: Может немного сменим алгоритм апдейта link.db?
можно.
мы непрерывно думаем об этом. спасибо за ваши идеи. |
Полностью поддерживаю.
Отдельно клиентскйи скрипт, а отдельно Updater. И возможность задавать апдейтеру список сайтов + куда складывать файлы и в какие папки :-) Что бы за один заход хапать ссылки :-) |
Кстати. Готов помочь в разработке клиентского скрипта =)
Впринципе щас к вам ничего не привязано. попробую ам написать, если получится =) |
Самый простой и надежный способ работы с SAPE заключается в следующем.
Есть два скрипта; 1. Скрипт загрузки - загружает данные с диспенсера и сохраняет их в файл links.db (или с другим именем) в каталог с именем SAPE_USER (или любой другой удобный каталог ). Этот скрипт запускается кроном каждый час. При этом при недоступности диспенсера проверяется также его зеркало. 2. Скрипт отображения ссылок - читает файл links.db и показывает ссылки в желаемом формате (например, табличкой). Этот скрипт включается в любую страницу площадки в нужном месте. При таком подходе абсолютно невозможны какие-либо торможения на сайте, т.к. его страницы вообще не знают о существовании SAPE. Спасибо разработчику SAPE за грамотно организованную структуру данных :-) У меня такой подход реализован уже с полмесяца. И все работает как часы. Хотя диспенсер бывает регулярно недоступен (обычно по утрам). Оба скрипта работают независимо (не используют класс sape.php) |
Добрый человек, а не могли бы вы поделиться вашей разработкой? :-)
Думаю многим пригодилось бы. Хотябы скрипт, который конектится к диспенсеру, скачивает и складывает все :-) |
Скрипт, который скачивает по крону и скрипт, который выдает на сайте - это один и тот же скрипт с разными параметрами :) Обсуждалось тут: http://forum.sape.ru/viewtopic.php?t=130
У меня уже давно работает без единого глюка... |
Цитата:
Если человек знает PHP, то напишет скрипт самостоятельно (например, для вывода ссылок достаточно написать 3 строчки кода). А если не знает, то это лучший способ, чтобы его еще больше запутать. Для такого пользователя нужен простой скрипт без настроек, работающий по принципу "как есть". Класс sape.php написан универсально на все случаи жизни (и это правильно), в нем одних только параметров аж 16 штук ! Поэтому использовать его в варианте вс кроном - большая избыточность и разобраться в возможных проблемах будет трудно. Да и разбираться в проблемах в такой ситуации (при нештатном использовании скрипта) вряд ли кто возьмется. Впрочем, я не буду никого отговаривать :-) Рискните ... Если кому-то вариант с кроном интересен - пишите в личку, попытаюсь помочь. |
Если выполнить все, что я там написал (в общем-то несложно, 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 — система купли-продажи ссылок с главных и внутренних страниц сайтов.