@Tishka17
Tishka17
12 Nov 2019

Через очередь нашему сервису прилетают апдейты.
Он читает их и удаляет. Через 30 секунд попыток чтения переходит к следующему шагу
Он берет и кладёт их в новую "статическую" таблицу (в местное хранилище), сортирует и мерджит с существующей. Это занимает около минуты для добавления 10 записей к существующим 100
Он снова читает эту таблицу и проверяет статус в БД. После чего отправляет результат в другую очередь. Это занимает 5 секунд.
Он удаляет из таблицы обработанные записи с учётом особенностей хранилища. Ещё где-то за 40 секунд.
Сервис перезапускается

Вопрос: какого хрена надо так писать?
Вопрос 2: нарушения pep8, побочные эффекты функций вместе с возвращаемым значением, проверка истинности через is True и прочие чудеса в коде тоже присутствуют

12 Nov 2019

около минуты для добавления 10 записей к существующим 100

А на чём это работает? Я как-то с трудом могу себе представить, что нужно сделать, чтобы такого добиться.
Или записи ОЧЕНЬ большие?

12 Nov 2019

Это работает на движке, ориентированном на обработку петабайт данных

#znumo/2 в ответ на /1
12 Nov 2019

это кластер из 10к машин, который изначально проектировался под мапредьюс.

#znumo/3 в ответ на /1
12 Nov 2019

Ну тогда может и норм.

#znumo/4 в ответ на /2
12 Nov 2019

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

#znumo/5 в ответ на /1
12 Nov 2019

Ещё одна особенность: все компоненты этот сервиса написаны на питоне. И только этот кусок - на плюсах.

12 Nov 2019

А зачем вы его так используете? Положите себе sqlite-файлик на nfs-шару и норм будет

#znumo/7 в ответ на /5
12 Nov 2019

на плюсах их переписали, потому что скорее всего пришли админы кластера и настучали по голове за питон.

#znumo/8 в ответ на /6
12 Nov 2019

Глядя на то, как некоторые пишут на плюсах, я всё ещё думаю, что лучше бы они писали на питоне :(

#znumo/9 в ответ на /8
12 Nov 2019

С чего бы, когда вся нирвана на питоне

#znumo/10 в ответ на /8
12 Nov 2019

Я вообще не знаю зачем он тут! В крайнем случае можно было завести динамическую таблицу и обновлять построчно

#znumo/11 в ответ на /7
12 Nov 2019

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

#znumo/12 в ответ на /10
12 Nov 2019

Tishka17, ощущение, что вы пытаетесь с помощью ректалтных манипуляций давить прыщи на носу

#znumo/13 в ответ на /5
12 Nov 2019

Tishka17, а чому не переписать, выкинух кху ям весь оверхед?

#znumo/14 в ответ на /6
13 Nov 2019

У меня тоже такое ощущение

#znumo/15 в ответ на /13
13 Nov 2019

Да я только на днях понял как это работает. И в очередной раз оху^W удивился

#znumo/16 в ответ на /14

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.