Коля Дубр

Коля Дубр
Рейтинг
153
Регистрация
02.03.2005
Должность
NetCat
Интересы
cms, музыка, лингвистика

Мне кажется, данных в первом посте недостаточно, надо видеть реальные цифры, чего сколько обрабатывается, где это все должно работать и т.д. Решение задачи, поставленной "в общем виде", редко оказывается оптимальным в боевых условиях.

Мой вариант, что-то похожее использовалось в одном из наших проектов:

1. Код, который что-то долго и муторно делает, отделяем от веб-сервера, пусть живет отдельной жизнью. Это может быть демон, крутящий бесконечный цикл, запись в кроне и т.д. Избавившись от привязки к веб-серверу, мы, к примеру, можем использовать fork() для распределения объема работы между несколькими процессами.

2. Служебный код начинает реально работать, получив некоторое "задание". Пользователь через GUI ничего не запускает, он лишь добавляет "задание" в хранилище (например, в БД).

3. Выполняя "задание", мы периодически сохраняем текущее состояние куда-нибудь (на случай крушения - времена-то неспокойные...). Например, в ту же БД. Какие именно данные нужно сторить - зависит от прикладной задачи. Если все сдохло, при повторном запуске "служебного" кода мы можем начать работу с нужного места.

4. Если уж пользователю так интересно, как идут дела, мы формируем для него отдельный GUI, где раз в N секунд через AJAX запрашивается отдельный скрипт, умеющий визуально отображать состояние "задания". В данном случае мы можем показать число обработанных страниц и число страниц, поставленных в очередь в настоящий момент.

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

На шаред-хостинге реализовать такую схему едва ли возможно.

Решение с flush() может проканать для очень простых и "коротких" задачек.

юни:
Вероятно, он способен это делать.

Вот именно что "вероятно" и "способен" :) Чтобы узнать, делает ли он что-то такое на самом деле, не достаточно просто придумать, что он "мог бы". Для этого нужно подобрать какой-то случай, когда некоторая поддающаяся анализу часть реальности (в данном случае - выдача) явным образом меняется под влиянием каких-то перечисленных Джо Саратини факторов. И доказать, что это - не влияние каких-то прочих иных обстоятельств. Очевидно, что в условиях, когда мы достоверно не знаем даже сотой части факторов (т.е. минимум 20 штук), задача принципиально не решаема.

Anarchist:
Рунет уменьшится втрое.

Ну, не втрое конечно. Во-первых, там 68% только от того, что они смогли распознать, во-вторых подавляющего большинства из этих сайтов может уже давно и так не быть в индексе (потому что на DLE и Wordpress штампуют реальный трэш и угар). Но надо понимать: если "все забаненные сайты сделаны на бесплатных CMS", это еще не значит что "все сайты на бесплатных CMS будут забанены" :)

-= Serafim =-:
статья уже достаточно "возрастная", потому, возможно, достойна новых комментариев от автора с учетом новых условий.

Это да, и послушать Людкевича всегда полезно. Но основной посыл - "Scio me nihil scire" - ИМХО до сих пор актуален:

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

С тех пор мы лишились нескольких важных инструментов аналитики, и неясности только прибавилось.

Джо Саратини:
У Яндекса у самого очень функциональный движок, и больше половины его функциональности нам неизвестно.

Ну, Яндекс - это такая штука, там вбиваешь запрос и находишь нужный сайт :) Есть еще какая-то скрытая функциональность? Калькулятора как в Гугле нету, я проверял 😂

Если же Вам известна половина принципов функционирования алгоритмов Яндекса, я мог бы предложить Вам работу, но боюсь, что это не так ;)

Да, Яндекс действительно мог бы определять существующие CMS, благо это не сложно. Более того, используемая CMS может быть одним из 2К+ факторов, и по результатам работы асессоров ему даже могли присвоить какое-то ненулевое значение. Ну и что? :) Практическая польза от этого знания, ИМХО, близка к нулю. Выбирая CMS для сайта, нужно ориентировать совсем на другие критерии. Проводя поисковую оптимизацию, нужно работать тоже с другими факторами.

А вероятность выпиливания половины индекса только на основе движка, я надеюсь, никто всерьез не рассматривает.

Мехалоч:
может стоит почитать про склейку анкоров?

Вам-то? Да, стоит, почитайте :)

AntoxaIL, а у Вас есть мысли, как это можно было бы проверить? :)

Есть такой волшебный сервис - WebIndicator от iTrack и CMSMagzine, ребята обошли все существующие домены зоны .ru и для откликнувшихся попытались определить установленную CMS. Для определения использовали т.н. "fingerprints" - наличие определенной строки по определенному URL.

Так вот, по диаграмме на главной странице сервиса не трудно посчитать, что суммарная доля бесплатных систем (+ "условно-бесплатного" DLE) составляет 68%. Мысль ясна? :)

Каширин:
Коля Дубр, Илья, нужно с оборудованием определиться. Сказать, что у вас будет, когда вы это привезете, сколько нужно времени на настройку, установку и т.д.

Костя, а ты приходи на репетицию в воскресенье, мы заняли базу с 18.00 до полуночи. Там все обсудим, а в этой теме и без нас флейма хватит :)

Каширин:
группа The Links.

На всякий случай, если кто не знает, группа The Links на 75% состоит из пользователей SE: я играю на клавишных, pelvis - гитарист, сочиняет песни и поет, Ctulhu за барабанами.

В нашем репертуаре есть песни про оптимизаторов, про дорвейщиков, и конечно же про любовь! Есть еще много чего, про что мы пока не расскажем :)

afonik, дресс-код решает, круто! Постараюсь раздобыть что-то такое.

Karri:
МА-ЛА-ДЦЫ!

Спасибо, стараемся :)

im_sorry, посмотрел. Ага, бес попутал, моя неправда :)

Всего: 1529