Size: a a a

Saint P Ruby Community

2020 August 13

AD

Anton Davydov in Saint P Ruby Community
Sergey Ponomarev
Да. Но можно теоретически переборщить. Но я даже не представляю какой это объём должен быть данных
ну вот мне интересно, что будет если разом запустить 2-5к джоб на запись
источник

AD

Anton Davydov in Saint P Ruby Community
не думаю, что там прямо совсем тяжело будет, но желательно бы подумать об этом заранее
источник

CM

Cucumba Morozov in Saint P Ruby Community
вот у меня как раз такой сетап, что группить и делать слишком жирные батчи будет вредно т.к. есть шанс потерять данные из-за того, что процесс кильнётся
источник

AD

Anton Davydov in Saint P Ruby Community
ну вот у меня прямо 1 в 1 проблема
источник

AD

Anton Davydov in Saint P Ruby Community
ладно, попробую просто лимитировать джобы в отдельной очереди
источник

AD

Anton Davydov in Saint P Ruby Community
спасибо всем!
источник

AD

Anton Davydov in Saint P Ruby Community
❤️
источник

ZN

Zamira Norova in Saint P Ruby Community
Было дело еще несколько тысяч записей надо было в базу занести внутри транзакции
Выяснилось, что конструкция типа
MyModel.new do |obj|
 obj.attr1 = value1
 ...
end

ломает целостной транзакции. Долго же я копала пока выяснила это. Рельса 4 была тогда. До исходников так и не дошла. (да, ленивая скотина я)
Кто нибудь сталкивался с этим еще? Я тогда и не нагуглила ничего подобного. В проекте никаких манки-патч не было
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
Anton Davydov
ну вот мне интересно, что будет если разом запустить 2-5к джоб на запись
зависит же от того есть ли блок на выполнение следующей, если не запущенна текущая. Еще зависит от того есть баунсер или нет баунсера и может еще от чего нибудь
источник

AD

Anton Davydov in Saint P Ruby Community
не, у меня там красивые записи, тупо 1 чтение, пару таблиц записать и запродьюсить сообщение
источник

AD

Anton Davydov in Saint P Ruby Community
лимитировать выполнение до N штук за раз мне больше всего нравится ибо тогда плавно разгружу пару сервисов
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
тут уже не могу посоветовать. Если я правильно понимаю, то зависит от того, как база будет обрабатывать это. Если это псотгресс, то с увеличениием открытых коннектов в ней очень быстро растет потребеление вычмслительных можностей и она может повиснуть
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
там же многозадачность и на входе в базу держаться бекенды(если я правильно помню). И вот прежде чем открыть или закрыть транкацию, постгерсс пробегает по всем бекендам и смотрит нет ли конфликта. И вот чем больше этих бекендов тем будет медленнее выполняться операция.
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
я к тому, что может быть не важно насколько красивые записи.
источник

AD

Anton Davydov in Saint P Ruby Community
Alexey Yaroslavzev
тут уже не могу посоветовать. Если я правильно понимаю, то зависит от того, как база будет обрабатывать это. Если это псотгресс, то с увеличениием открытых коннектов в ней очень быстро растет потребеление вычмслительных можностей и она может повиснуть
Не, я лимитирую конекшен пулл к базе
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
Anton Davydov
Не, я лимитирую конекшен пулл к базе
а вот тут интересный вопрос. Где хранит рельса(если конечно разговор о рельсе) запросы, которые не пролазят в пулл. Может получиться так, что не надо ничего ограничивать, потому что рельса сама разгребет все
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
получается, что может приложению плохо статьи и оно начнет подтормаживать
источник

AY

Alexey Yaroslavzev in Saint P Ruby Community
правда, это все фантазии)
источник

AD

Anton Davydov in Saint P Ruby Community
Alexey Yaroslavzev
а вот тут интересный вопрос. Где хранит рельса(если конечно разговор о рельсе) запросы, которые не пролазят в пулл. Может получиться так, что не надо ничего ограничивать, потому что рельса сама разгребет все
Не, у меня не рельса
источник

AD

Anton Davydov in Saint P Ruby Community
Но вопросы хорошие, спасибо
источник