subject: Срез
30.10.2024 09:56
ahamai (blackcat, 2)
А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 10:46
hugeping (ping,1) => XzR8pI8lD8KquaU2xGFf
ahamai> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
Например: https://club.hugeping.ru/u/e/idec.talks/-1:1
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 11:05
revoltech (spnet, 4) => XzR8pI8lD8KquaU2xGFf
ahamai> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
Кстати, да, присоединяюсь к вопросу. Как в одном запросе слайсить сразу несколько эх с разными смещениями и лимитами? Например, мы запрашиваем содержимое трёх эх и выяснили, что из первой надо забрать только 3 последних сообщения, из второй — 10, а из третей — 50. И что, здесь три отдельных запроса городить придётся?
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 11:07
revoltech (spnet, 4) => sPk8Pon7j7ZWLwDo0bUr
hugeping> ahamai> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
hugeping>
hugeping> Например: https://club.hugeping.ru/u/e/idec.talks/-1:1
Вопрос в том, что делать, когда в запросе НЕСКОЛЬКО эх. Можно ли указать диапазоны отдельно для каждой?
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 11:15
hugeping (ping,1) => 4QGHlMHwAB6uvCnWMMYD
hugeping>> ahamai> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
hugeping>>
hugeping>> Например: https://club.hugeping.ru/u/e/idec.talks/-1:1
revoltech> Вопрос в том, что делать, когда в запросе НЕСКОЛЬКО эх. Можно ли указать диапазоны отдельно для каждой?
Не делал никогда так, но в стандарте написано что нет.
/u/e/area.one/area.two/0:10 запрашивает первые десять сообщений в индексе, а /u/e/area.one/area.two/-10:10 запрашивает последние десять сообщений в индексе.
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 11:36
ahamai (blackcat, 2) => sPk8Pon7j7ZWLwDo0bUr
Это одна эха
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 11:39
ahamai (blackcat, 2) => iMFf6Q7YTyFOToSGjWja
Тогда я вообще не понял, чо это экономит, когда вместо одного запроса у нас отделный на эху. А запрос вещь дорогая, нагрузки на сервер, хедеры, все дела. Смысл, чтобы всё делать одним запросом.
2Shaos, хочу с тебя дёргать только последних 100 хедеров, как у тебя нода устроена?
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 12:28
Andrew Lobanov (tavern,1) => KTwLdLHyN94JcG3JfGgW
ahamai>> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
revoltech> Кстати, да, присоединяюсь к вопросу. Как в одном запросе слайсить сразу несколько эх с разными смещениями и лимитами? Например, мы запрашиваем содержимое трёх эх и выяснили, что из первой надо забрать только 3 последних сообщения, из второй — 10, а из третей — 50. И что, здесь три отдельных запроса городить придётся?
Бери один по максимальному смещению.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 12:28
Andrew Lobanov (tavern,1) => 4QGHlMHwAB6uvCnWMMYD
hugeping>> ahamai> А какой вообще формат срезов: /u/m/эха/срез/эха/срез или как?
hugeping>>
hugeping>> Например: https://club.hugeping.ru/u/e/idec.talks/-1:1
revoltech> Вопрос в том, что делать, когда в запросе НЕСКОЛЬКО эх. Можно ли указать диапазоны отдельно для каждой?
Нельзя, так как незачем.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:00
ahamai (blackcat, 2) => NhzSEedjkKg8sD8F8vYZ
Ничё не понял. Если щас задать несколько эх и дать срез, он со всех по n сообщений запросит или только с последнего
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:00
ahamai (blackcat, 2) => 71Q2T9eM3uHJRmO7xPRv
Вечером на shaos потестю. Если первое, то мне подходит
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:21
hugeping (ping,1) => 71Q2T9eM3uHJRmO7xPRv
ahamai> Ничё не понял. Если щас задать несколько эх и дать срез, он со всех по n сообщений запросит или только с последнего
Со всех запросит. В стандарте есть пример, я его прислал. Но ты похоже его даже не читал.
https://club.hugeping.ru/u/e/idec.talks/std.hugeping/-1:1
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:45
ahamai (blackcat, 2) => Jr1i7Uh3aExR45L4mILq
https://sprinternet.io/iii/u/e/lor.opennet/bot.habr.rss/-2:2
lor.opennet
xfSBW60zRzlgSwVk76AQ
LhwoSH409gDoNlImRkqj
bot.habr.rss
qXIZLzo3Qe9lx8MA8agu
AAGRBdSX5ijxRWvXecPm
ок
другие станции
http://hugeping.tk/u/e/retro.talks/idec.talks/-2:2
retro.talks
5B3Tra1DRJEcymDcA6Gi
XOjs0DTBN77YYkJT2drY
idec.talks
Jr1i7Uh3aExR45L4mILq
lQojMgQzCqNwlULJtw3g
думаю, это и есть стандарт.
2shaos - я с тебя буду грабить только последние 100 сообщений. и так благодаря /x/h трафик между станциями упал с 12 мб до 2 мб, а так вообще урежется :)
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:50
ahamai (blackcat, 2) => lQojMgQzCqNwlULJtw3g
Тогда не понял, почему стандарт такой, если в каждой эхе разное количество новых сообщений. :) Ладно, поняли-разобрались. Стандарт читал но как-то не задумывался об этом, задумался только сегодня в тронвае :)
2shaos - фетчеры обновил
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 13:53
ahamai (blackcat, 2) => lQojMgQzCqNwlULJtw3g
у меня sf работает так: запрос вида /u/e/эха1/эха2/эха3?sf=хэш1/хэш2/хэш3, и она ищет указанные хэши в эхах, если находит, начинает выдачу эх с них. сначала не вклчая сами хэшN, но несколько дней назад я сделал, чтобы включали, на всякий случай, 21 байта не жалко, зато можно убедиться, какой именно хэш
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 15:09
shaos (spnet, 2) => 58Qg7tMVRZAPjFR35Uc4
> 2Shaos, хочу с тебя дёргать только последних 100 хедеров, как у тебя нода устроена?
-100:100
У меня стандартный IDEC
Был :)
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 15:38
iiii (ping,48) => 2UobhB4IuqsE2jFfgG7p
да, я так и поставил, вроде всё работает как и задумано
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 16:32
Andrew Lobanov (tavern,1) => 71Q2T9eM3uHJRmO7xPRv
ahamai> Ничё не понял. Если щас задать несколько эх и дать срез, он со всех по n сообщений запросит или только с последнего
Со всех, если я правильно понял типавопрос.
+++ Caesium/0.4 RC1
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 16:32
Andrew Lobanov (tavern,1) => Wo8PwAZsLpCz7p2j2bGH
ahamai> Тогда не понял, почему стандарт такой, если в каждой эхе разное количество новых сообщений. :) Ладно, поняли-разобрались. Стандарт читал но как-то не задумывался об этом, задумался только сегодня в тронвае :)
Потому что не надо байто**ить. Сильно помогает в подавляющем числе случаев.
ahamai> 2shaos - фетчеры обновил
+++ Caesium/0.4 RC1
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 16:32
Andrew Lobanov (tavern,1) => ohvLHzBnsJ2e0VumieAp
ahamai> у меня sf работает так: запрос вида /u/e/эха1/эха2/эха3?sf=хэш1/хэш2/хэш3, и она ищет указанные хэши в эхах, если находит, начинает выдачу эх с них. сначала не вклчая сами хэшN, но несколько дней назад я сделал, чтобы включали, на всякий случай, 21 байта не жалко, зато можно убедиться, какой именно хэш
А если хеш в блеклисте или вообще удалён? Ну и сложно это в реализации и не особо незачем.
+++ Caesium/0.4 RC1
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 21:42
ahamai (blackcat, 2) => mK7EJUZt8fzCxIke0lj2
Хэш в блеклисте это вообще ничего не меняет, нужны же "сообщения от", если в файле эхи сообщение есть, то от него и пойдёт. Если хэша нет, то отдастся вся эха. По сравнению с текущим случаем, преимуществ два - хэш гораздо более надёжный источник, чем количество сообщений, и не сработает только в одном случае: если конкретная нода инъектировала в эху сообщения сверху - но на это нужно иметь настолько серьёзные основания, что это повод говорить об этом в сисопской эхе. Ну и второе - точно отдадутся только самые новые сообщения, одним запросом (я думал, реализация срезов вообще не так работает, в текущем виде она вообще какая-то непонятная, почему на все эхи один лимит, если сообщений в базе мало)
реализация и sf и lim у меня это всего несколько строчек.
было
====
def echoareas(names):
out = ''
for ea in names:
out += ea + '\n' + get_echoarea(ea,True)
return out
====
стало
====
def echoareas(names, sf, lim=0):
out = ''
if sf: sf = set(sf.split('/'))
for ea in names:
dllist = get_echoarea_f(ea)
if sf:
newhash = [x for x in dllist if x in sf]
if newhash:
dllist = dllist[dllist.index(newhash[0]):]
if lim: dllist = dllist[-lim:]
dllist = '\n'.join(dllist)
if dllist: dllist += '\n'
out += ea + '\n' + dllist
return out
====
не использовалось это никогда потому что я не вижу смысла экономить и так копеечный трафик. но на такой случай реализация в моей станции была
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 21:49
ahamai (blackcat, 2) => E8HPIqStKz17vpZiH6E7
- если сообщений в базе мало
+ если новых сообщений в эхах разное количество, непонятно почему просто не запрашивать с каждой нужное (ну, или, с гарантией +1, +5 сообщений, это небольшой оверхед, по сравнению со случаем когда опращиваются одним запросом эхи с 1 и 110 сообщениями)
111
Вообще, связка h и sf реально сокращает количество запросов и реально экономит трафик. Если это кому-то важно.
--------------------------------------------------------------------------------
subject: Re: Срез
30.10.2024 22:32
ahamai (blackcat, 2) => oyIOoNnTb5TyB0tpo9Cd
Понятия не имею, что это слово означает, но вопросы имеются - раньше я вообще никогда не задумывался, как работают слайсы.
Во-первых, формат. /u/e/ чётко определён, там перечисляются эхи. Почему не использовать что-то типа ?s=-100:100 или любой другой способ? Если в фетчер ii 0.3 просунуть такой формат url и запросить что-то с ii 0.3, фетчер упадёт, не растоссив пакет, потому что будет считать -100:100 хэшем сообщения. Зачем плодить неоднозначность просто на ровном месте, там, где есть куча способов её избежать?
Ладно, раз уж решили изнасиловать формат /u/e, почему не использовать /u/e/эха/срез/эха/срез. Это же для экономии трафика всё затевалось? А какая экономия, если у тебя может быть куча эх, и ради одной роботной, где всегда куча сообщений, тянется куча ненужных? А если поодиночке - то это лишние запросы, на медленном и нестабильном интернете каждый запрос это всегда больно, и он может даже не состояться (поэтому links решал там, где opera не могла ни одного сайта открыть). Формат /u/e был придуман ровно для того, что дёргать /e на каждую эху было медленно и неэффективно. Изначально были только /e и /m, но всё это было медленно и печально.
--------------------------------------------------------------------------------
subject: Re: Срез
31.10.2024 08:21
Andrew Lobanov (tavern,1) => E8HPIqStKz17vpZiH6E7
ahamai> Хэш в блеклисте это вообще ничего не меняет, нужны же "сообщения от", если в файле эхи сообщение есть, то от него и пойдёт. Если хэша нет, то отдастся вся эха. По сравнению с текущим случаем, преимуществ два - хэш гораздо более надёжный источник, чем количество сообщений, и не сработает только в одном случае: если конкретная нода инъектировала в эху сообщения сверху - но на это нужно иметь настолько серьёзные основания, что это повод говорить об этом в сисопской эхе.
Какие-то количества сообщений придумал. Нет их уже, считай. Легаси, который в скором времени выставим на мороз.
> Ну и второе - точно отдадутся только самые новые сообщения, одним запросом (я думал, реализация срезов вообще не так работает, в текущем виде она вообще какая-то непонятная, почему на все эхи один лимит, если сообщений в базе мало)
Как количество сообщений влияет на работу срезов? Out of range невозможен.
ahamai> не использовалось это никогда потому что я не вижу смысла экономить и так копеечный трафик. но на такой случай реализация в моей станции была
Если не видишь смысла экономить трафик, то тогда непонятно что тебе не нравится в том, что срез один на запрос, а не для каждой эхи отдельно. Я думал, ты байтики экономишь и не хочешь получать в индексе сообщения, которые у тебя уже есть в базе.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Срез
31.10.2024 08:21
Andrew Lobanov (tavern,1) => 6UqbDyH839FfwzDQdKO6
ahamai> Понятия не имею, что это слово означает, но вопросы имеются - раньше я вообще никогда не задумывался, как работают слайсы.
ahamai> Во-первых, формат. /u/e/ чётко определён, там перечисляются эхи.
Читай документацию внимательнее. Там не только эхи перечисляются.
ahamai> Почему не использовать что-то типа ?s=-100:100 или любой другой способ?
Мы и используем один из любых других способов.
ahamai> Если в фетчер ii 0.3 просунуть такой формат url и запросить что-то с ii 0.3, фетчер упадёт, не растоссив пакет, потому что будет считать -100:100 хэшем сообщения.
Почему у тебя фетчер считает имя эхи хэшем сообщения? Это явно что-то не так в ii 0.3. Зачем с аплинком на ii использовать то, что ii не умеет?
ahamai> Зачем плодить неоднозначность просто на ровном месте, там, где есть куча способов её избежать?
Никакой неоднозначности нет. Не может быть двоеточия в имени эхи. Если софт такое допускает, значит софт надо исправлять.
ahamai> Ладно, раз уж решили изнасиловать формат /u/e, почему не использовать /u/e/эха/срез/эха/срез.
Зачем?
ahamai> Это же для экономии трафика всё затевалось? А какая экономия, если у тебя может быть куча эх, и ради одной роботной, где всегда куча сообщений, тянется куча ненужных?
1. Ты тоже в максималисты подался? Затем, что лишних несколько сотен байт на фоне нескольких сотен килобайт это экономия трафика.
2. Ненужные сообщения не тянутся. Только новые. u/e, если ты забыл, даёт только индекс, но не сообщения.
ahamai> А если поодиночке - то это лишние запросы, на медленном и нестабильном интернете каждый запрос это всегда больно, и он может даже не состояться
И этот человек защищал кучу маленьких бандлов вместо всего в одном запросе.
ahamai> Формат /u/e был придуман ровно для того, что дёргать /e на каждую эху было медленно и неэффективно.
Однопоточный фетчер на срезах на перле, который тянет индекс по одной эхе и использует бандлы по 40 сообщений, утягивает клуб за 3 минуты. На медленном канале.
Он же, но с парой десятков сообщений новых сообщений работает 3-5 секунд.
Без новых сообщений он отрабатывает за 3-4 секунды.
ВНИМАНИЕ! Вопрос: куда ты так спешишь, что у тебя каждая секунда на счету?
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------
subject: Re: Срез
31.10.2024 08:21
Andrew Lobanov (tavern,1) => 3SXU4Zc1ARFaKDVcKvKj
ahamai> - если сообщений в базе мало
ahamai> + если новых сообщений в эхах разное количество, непонятно почему просто не запрашивать с каждой нужное (ну, или, с гарантией +1, +5 сообщений, это небольшой оверхед, по сравнению со случаем когда опращиваются одним запросом эхи с 1 и 110 сообщениями)
ahamai> 111
ahamai> Вообще, связка h и sf реально сокращает количество запросов и реально экономит трафик. Если это кому-то важно.
Оверхед меньше килобайта в подавляющем большинстве случаев. Это даже на 9600 бод можно не считать оверхедом. При этом ты предлагаешь более сложный и неработающий в части случаев вариант.
+++ Лично я вижу в этом перст судьбы – шли по лесу и встретили программиста.
--------------------------------------------------------------------------------