#  Re: В поисках идеального фетчера
Andrew Lobanov (tavern,1) → vit01  –  09:31:23 2016-07-07

vit01> Для начала не надо мешать мух с котлетами, то есть сервера с клиентами.

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

vit01> 1. Вычисление смещения из результата /x/c - это порочная практика. Её никто никогда не предлагал и не реализовывал.

Вот я и начинаю предлагать =)

vit01> 2. На сервере /x/c не нужен. Более того, ни один серверный фетчер его не поддерживает. Эта схема необходима только для того, чтобы клиенту не фетчить creepy.14, mlp.15 и прочие питоны, в которые пишут не больше раза в неделю. Самая частая работа /x/c - это выдать на экран надпись "новых сообщений нет".

Поверх этого вычисляем максимальное приращение в эхах у аплинка и принимаем этот результат за смещение. Теряем в трафике (например, если подписаны на ленту и забираем почту раз в день, то гарантированно получаем около 100 сообщений в индексах), но получаем всё новьё. Если запоминать количество сообщений для каждой ноды отдельно, то может получиться вполне сносно. Пока в эту сторону размшляю.

vit01> 3. Расширенный /u/e используется и там, и там. Различие лишь в том, что оптимальное значение на клиенте - это 50-100, а на сервере - немного больше. Mira station фетчит каждого аплинка со смещением 200. Уже как очень долгое время.

Эту практику я считаю приемлемой, если нас не интересует гарантированное получение всех новых сообщений.

vit01> Так и надо. Для гейтоскриптов вообще можно и не использовать кучу оптимизаций.

Гейты да. Можно хоть от 0.3 фетчер оторвать и оно будет оправдано =)

vit01> Чтобы все были счастливы, надо

vit01> 1. Делать ровно один запрос /u/e вместо того, чтобы опрашивать каждую эху

В процессе. Пока не пишу в апстрим свои эксперименты потому как лучше плохая работа, чем поломатый клиент.

vit01> 2. Добавить в Цезий поддержку /x/c, чтобы не фетчить все 40 эх из подписок, когда новые сообщения только в пайпе или в новостях (или когда их вообще нет).

Это будет, но хочу шире использовать.

vit01> Этих двух пунктов достаточно и для скорости, и для комфорта.

И для потенциальной потери сообщений. Вот именно это мне покоя не даёт.
Powered by iii-php v0.11