Про RSS расскажу
Забыл совсем рассказать, что пару месяцев назад я завершил один свой проект по rss. А точнее, блок взятия потоков (робот), занесение в базу (сортировщик) и отсылку новых сообщения по почте мне (транспорт). Транспорт можно убрать и просматривать на сервере, но пока не написан просмоторщик (в планах), да и трафик, поэтому использую просмоторщик, сделанный на ahk... но это другой вопрос.
01. RSS, админка для управления потоками
Сейчас потоки проходятся роботом последовательно один за другим, дёргаются из сети не чаще 1 раза в час + используется cond get. Раз в минуту по cron это происходит, учитывается время 30 секунд (завершается цикл работ, если приближается к окончанию ограничения). В общем, за это время он успевает пройти от 3 до 7 потоков (в зависимости от того, взял информацию или нет). У меня 800 потоков в списке и время реакции обычно от 15 минут до 1.5 часа. Что с лихвой хватает. Алгоритм этот устарел, в планах его сменить на более новый, что и сделаю вскоре, всё обдумано. Там будет учитываться время между обновлением самих записей, всё это будет по хитрому алгоритму браться и в результате время реакции повысится в среднем до 30 минут + снизится нагрузка на сервер и внешний канал.
Для жж введена digest-авторизация для взятия подзамочных записей, но не для всех потоков, а избранно (на рисунке галка Auth), потому что там идёт два запроса, и хотя первый не сильно нагружает по трафику, но всё равно лучше снизить нагрузку, нет смысла все каналы так брать, потому что подзамочных записей там просто нет. Разбирался с этой авторизацией самостоятельно, всё писал сам по RFC :o) , весьма прикольная вещица.
В качестве обработчика rss использую SimplePie - хороший надёжный класс. Модернизировал его только, ввёл несколько дополнительных функций и статусных отчётов.
Работает всё это как часы, письма приходят раз в 10 минут (zip-архивы), обычно в каждом по 10...100 сообщений, не более, объём около 20..100 Кб архива. Всё это автоматически распаковывается, заносится в очередь, архивируется и по нажатию одной клавиши я могу открыть в любое время очередные новые записи в браузере. Выглядит всё это вот так (как видно, буквально через 30 минут после опубликования эта запись уже у меня на компьютере):
02. RSS, пример вывода нового сообщения в просмотрщике
Будет время, займусь созданием просмотрщика, написанным на JS. Всё это наподобие как у гугла, но будет много разных возможностей, мыслей очень много. Например, картинки заменять на блок - хочешь посмотреть, жми. Или для жж сделать блок комментариев. Хочешь посмотреть - жми, они грузятся через их стандартный импорт комментов, заносятся в базу и на экран, затем новые сообщения только подгружаются, выделяются цветом, звук и т.п. Также можно ответить здесь же, в этом блоке, без перегрузки (хотя сервис от мивлада тоже удобен, коим уже давно-давно пользуюсь). И много-много других разных идей, например, группы (у гугла это есть), а в них фильтры (по словам и т.д.), чтобы записи заносились в подгруппы. Например, часто в потоке по работе сыпятся сообщения о программист 1С. Так вот чтобы их не видеть, можно или вообще их удалять, или переносить в такую подгруппу.
Раньше я пользовался канбаном и сквитом, но они не тянули мои 800 потоков (количество постоянно увеличивается) - канбан постоянно что-то не досылал (вовремя заметил), а сквит хотя и работал (висит с весны) хорошо, но присылал много обвязки и рекламу (которую я вырезал). Так что за неимением лучшего пришлось создать свою систему.
01. RSS, админка для управления потоками
Сейчас потоки проходятся роботом последовательно один за другим, дёргаются из сети не чаще 1 раза в час + используется cond get. Раз в минуту по cron это происходит, учитывается время 30 секунд (завершается цикл работ, если приближается к окончанию ограничения). В общем, за это время он успевает пройти от 3 до 7 потоков (в зависимости от того, взял информацию или нет). У меня 800 потоков в списке и время реакции обычно от 15 минут до 1.5 часа. Что с лихвой хватает. Алгоритм этот устарел, в планах его сменить на более новый, что и сделаю вскоре, всё обдумано. Там будет учитываться время между обновлением самих записей, всё это будет по хитрому алгоритму браться и в результате время реакции повысится в среднем до 30 минут + снизится нагрузка на сервер и внешний канал.
Для жж введена digest-авторизация для взятия подзамочных записей, но не для всех потоков, а избранно (на рисунке галка Auth), потому что там идёт два запроса, и хотя первый не сильно нагружает по трафику, но всё равно лучше снизить нагрузку, нет смысла все каналы так брать, потому что подзамочных записей там просто нет. Разбирался с этой авторизацией самостоятельно, всё писал сам по RFC :o) , весьма прикольная вещица.
В качестве обработчика rss использую SimplePie - хороший надёжный класс. Модернизировал его только, ввёл несколько дополнительных функций и статусных отчётов.
Работает всё это как часы, письма приходят раз в 10 минут (zip-архивы), обычно в каждом по 10...100 сообщений, не более, объём около 20..100 Кб архива. Всё это автоматически распаковывается, заносится в очередь, архивируется и по нажатию одной клавиши я могу открыть в любое время очередные новые записи в браузере. Выглядит всё это вот так (как видно, буквально через 30 минут после опубликования эта запись уже у меня на компьютере):
02. RSS, пример вывода нового сообщения в просмотрщике
Будет время, займусь созданием просмотрщика, написанным на JS. Всё это наподобие как у гугла, но будет много разных возможностей, мыслей очень много. Например, картинки заменять на блок - хочешь посмотреть, жми. Или для жж сделать блок комментариев. Хочешь посмотреть - жми, они грузятся через их стандартный импорт комментов, заносятся в базу и на экран, затем новые сообщения только подгружаются, выделяются цветом, звук и т.п. Также можно ответить здесь же, в этом блоке, без перегрузки (хотя сервис от мивлада тоже удобен, коим уже давно-давно пользуюсь). И много-много других разных идей, например, группы (у гугла это есть), а в них фильтры (по словам и т.д.), чтобы записи заносились в подгруппы. Например, часто в потоке по работе сыпятся сообщения о программист 1С. Так вот чтобы их не видеть, можно или вообще их удалять, или переносить в такую подгруппу.
Раньше я пользовался канбаном и сквитом, но они не тянули мои 800 потоков (количество постоянно увеличивается) - канбан постоянно что-то не досылал (вовремя заметил), а сквит хотя и работал (висит с весны) хорошо, но присылал много обвязки и рекламу (которую я вырезал). Так что за неимением лучшего пришлось создать свою систему.
Comments (8):
Немного оффтопа... Иногда, когда читаешь твой ЖЖ, такое забавное чувство, когда каждое слово вроде как понимаешь, и вместе тоже более-менее понимаешь, а как ты до этого дошел, как сделал - хз )
аха ;)
> Немного оффтопа... Иногда, когда читаешь твой ЖЖ, такое забавное чувство, когда каждое слово вроде как понимаешь, и вместе тоже более-менее понимаешь, а как ты до этого
> дошел, как сделал - хз )
ээээээээ? 8-/
как я до этого дошёл? - отвечаю. наверняка, стремлением что-то сделать, изучить, понять и т.п. не сидеть на месте.
уже началось. предложения с ценами...
Вот насчет предложений - это мне щас очень в тему...
в тему для чего?
девид армольд сначала ритмически идёт
потом потрясная красивая композиция про любовь
вдохновляйся
Стремлюсь хорошо знать С++, технику программированию (ну паттерны, все такое, не знаю как обобщить правильнее), *nix... Может, звучит все это немного по-детски, но я сам-то не сильно велик.
А деньги... Ну деньги всегда нужны ;)