@rubylang

Страница 1035 из 1684
ojab
27.05.2017
15:59:33
ruby-код будет испольняться только на одном ядре

кроме ruby-кода есть ещё io, которым по большей части обычни и заняты worker'ы

и это не мешает прибивать потоки к разным ядрам, ага

Neekoso
27.05.2017
16:04:57
Разговор шел о параллельном исполнении руби в MRI. Сейчас ты написал про io как отдельную часть ruby и все также безосновательно упомянул "прибивание к ядру" снова в контексте MRI

Google
Neekoso
27.05.2017
16:05:01
Где связь?

ojab
27.05.2017
16:06:34
нет, разговор шёл про параллельное выполнение. Про ruby-код в сообщениях выше ни слова. Параллельное выполнение подразумевает не только ruby-код.

ну и, в очередной раз, в подавляющем большинстве джоб (чем sidekiq и занимается) большпя часть исполнения — io

Neekoso
27.05.2017
16:20:10
Ты сбиваешь контекст. Изначально разговор шёл о том, что оптимальное количество потоков в sidekiq зависит от количества ядер. Я упомянул, что на их репозитории не нашел ни одного native extension, что подразумевает исполнение ruby кода, после чего увидел только странную реакцию. Уточнив про MRI, я откинул остальные реализации, но ты все равно доказываешь мне про многоядерность, понемногу сьезжая с темы про MRI. IO в руби - обращение к системным вызовам интерпретатором при обработке руби кода, а сам по себе IO может влиять на многопоточность только в контексте блокировок, что нашей темы не касается

Igor
27.05.2017
17:17:25
во первых кто сказал что руби-код выполняется только на одном ядре?

он может выполняться на любом ядре

просто именно РУБИ код не выполняется одновременно из-за GIL

но если твой руби код внутри сайд-кик воркера

делает HTTP запрос например через curl

или висит на IO.select

то ничего не мешает выполнятся другому потоку с руби-кодом на совершенно другом ядре

открою тебе секрет - на практике GIL особо многопоточности в руби не мешает

Google
Egor
27.05.2017
17:20:45
Неоднократно читал, что в MRI нет реального параллелизма, не понимаю к чему такая реакция
спокойно, зашкаливающий уровень ЧСВ типичен для руби-чатиков

Igor
27.05.2017
17:20:50
один хуй большая часть wallclock проводится в IO

там не было никакой реакции

просто человек полез в спор не разобравшись в сути вопроса

Artur
27.05.2017
17:29:10
Не всю, только гига 3

Igor
27.05.2017
17:29:22
вангую редакторосрач

Egor
27.05.2017
17:29:25
ojab
27.05.2017
17:30:08
Ты сбиваешь контекст. Изначально разговор шёл о том, что оптимальное количество потоков в sidekiq зависит от количества ядер. Я упомянул, что на их репозитории не нашел ни одного native extension, что подразумевает исполнение ruby кода, после чего увидел только странную реакцию. Уточнив про MRI, я откинул остальные реализации, но ты все равно доказываешь мне про многоядерность, понемногу сьезжая с темы про MRI. IO в руби - обращение к системным вызовам интерпретатором при обработке руби кода, а сам по себе IO может влиять на многопоточность только в контексте блокировок, что нашей темы не касается
ядра при исполнении sidekiq'а заняты не только sidekiq'ом. Банальный пример — sidekiq насилует БД, если у sidekiq один тред — БД упрётся в этот самый один тред, если тредов больше одного — БД будет утилизировать больше одного ядра. При этом sidekiq будет висеть в io и ничего не делать.

Артур
27.05.2017
17:30:37
Работаю на таком второй год, да ещё и в рубишахте. Зависимость жива, брат никакой.
а ссд у тебя там насколько стоит? нет проблем с местом?

Artur
27.05.2017
17:31:16
вангую редакторосрач
Я прост туповат и не смог запомнить все хоткеи вима :(

Igor
27.05.2017
17:31:37
Я прост туповат и не смог запомнить все хоткеи вима :(
так уже и признайся что выйти не смог :D

Artur
27.05.2017
17:32:02
так уже и признайся что выйти не смог :D
Если бы не смог, до сих пор бы в нем писал))

Igor
27.05.2017
17:32:35
Artur
27.05.2017
17:32:39
а ссд у тебя там насколько стоит? нет проблем с местом?
256, проблемы всегда есть. Осталось 15 гигов, хз куда место дел. То-се, пятое-десятое и все.

Ivan Nets
28.05.2017
06:36:16
DarkNet - блог о темной стороне интеренета. @darknets

Google
Nikita
28.05.2017
08:55:01
кто работал с sidekiq-throttled? делаю все по докам, по идее должно все работать, но почему-то все джобы асинхронно выполняются... не работает лимит на время. https://gist.github.com/niks123123/b949984283439969dd5d626221b1db33 https://github.com/sensortower/sidekiq-throttled

Alexey
28.05.2017
09:17:09
Ого. А я свой велосипед делал для этих целей)

Nikita
28.05.2017
11:58:00
проблема была из-за того, что я использовал гем sidekiq-limit_fetch

они почему-то вместе не работают

но теперь другая проблема, возможно ли заставить джобы как-то выполняться в том порядке, в котором они были добавлены, а не асинхронно?

Vasiliy
28.05.2017
13:16:18
Посмотри queue job какие нить

Alex
28.05.2017
13:39:42
почему если я использую before(:all) то после выполнения spec база не очищается?

Удаляю базу - тест прогоняется - все ок, второй раз запускаю - email уже зарегистрирован

#spec/support/database_cleaner.rb https://pastebin.com/9TXz1QUZ

https://pastebin.com/wqnAmghC

https://pastebin.com/UCmL6Nm0

Denis
28.05.2017
13:59:11
Привет. Кто знает ресурс где рассматриваются сложные вложенные запросы activerecord. На официальных гайдах об этом ни слова

Vasiliy
28.05.2017
14:02:59
Может потому что их пишут на голом сиквеле?

Если таки хочешь завернуть запрос в код то посмотри в сторону arel

Denis
28.05.2017
14:05:33
Просто как я понял мои запросы полное говно. Поэтому и хочу развиваться. А activerexord разве не предоставляет тако возможности

Nikita
28.05.2017
14:06:08
так, а что ты хочешь? на sql запросы фигачить?

Denis
28.05.2017
14:08:02
На active record хочу

https://gist.github.com/denisoster/0d91350008b06237a92d07f76b8f2f0b

то что имею сейчас

ну они дико не оптимальны. поэтому и хочу изучить лучше activerecord

Google
Admin
ERROR: S client not available

Denis
28.05.2017
14:32:04
Звучит как-то дико. Думал все можно решить через active record

v
28.05.2017
14:32:34
будет выглядеть как говно

Alexander
28.05.2017
14:42:23
Гугли arel

ojab
28.05.2017
14:47:49
https://gist.github.com/denisoster/0d91350008b06237a92d07f76b8f2f0b
тут проблема не в запросах

а в том что всё написано в один метод и непонятно как

(ну и про .collect в частности я тебе уже писал)

что произойдёт если всё фильтры есть? 4 раза мы получим результат и заиспользуем только последний?

(good=[], filter=[], model=[], brand=[], types_technologies=[]) wtf is this

зачем вообще дефолтное значение у этих аргументов?

ты в вызове этого метода не знаешь, какие аргументы есть и поэтому передаёшь всё подряд?

Good.where(...).collect(&:good_id) — очевидно дублирующийся кусок, почему он каждый раз open-coded?

ну и не мешает поставить rubocop и прогонять весь код через него

Denis
28.05.2017
14:53:57
Ну я прогонял через консоль. вроде нормально все фильтрует

Выводит все результаты как и должно

ojab Я верно заменил collect на select?

ojab
28.05.2017
14:57:45
нет

Ну я прогонял через консоль. вроде нормально все фильтрует
в этот раз, вроде, вопрос не в работоспособности решения

Google
Denis
28.05.2017
14:58:50
ну да

ojab
28.05.2017
14:59:07
ну и это должно делать тестами, чтобы вместо вопроса "Я верно заменил collect на select?" ты прогнал test suite и увидел, есть ли ошибки

Denis
28.05.2017
15:00:35
понял

Eugene
28.05.2017
19:07:53
Кто-нибудь на Railsclub собирается 23 сентября?

Artur
28.05.2017
19:09:09
Я. Но совпадут ли мои желания с моими возможностями большой вопрос.

Salim
28.05.2017
20:23:05
есть тут господа верстальщик ? вопрос запивая после css чему обучаться js или можно как то сейчас рубки учить запитая ))

руби

v
28.05.2017
20:23:45
запивая?

тяжело тебе css дался

Диёр
28.05.2017
20:24:08
У js программиста работы больше, а у руби программиста денег

Salim
28.05.2017
20:24:16
)) запитая

Страница 1035 из 1684