
Иван
10.07.2018
16:04:47

Смерть
10.07.2018
16:05:13
Да, сейчас тоже так решил сделать, спасибо

vizvamitra
10.07.2018
16:18:56
Я обычно бизнес-логику держу отдельно, а в воркере просто вызываю один метод, типа:
class DoSomethingWorker
include Sidekiq::Worker
def initialize(do_something: Something::Do.new)
@do_something = do_something
end
def perform(params)
do_something.call(params)
end
private
attr_reader :do_something
end
Тогда логика тестится в тестах на Something::Do#call, а в воркере — только то, что Something::Do#call правильно запускается + ретраи (что при одних исключениях они происходят, а при других — нет) и остальное sidekiq-related хозяйство. Иногда ещё интергационный тест с простейшим кейсом добавляю

Смерть
10.07.2018
16:19:38
хм, вот это звучит прям красиво

Google

Смерть
10.07.2018
16:19:42
Спасибо

Silent Bob
10.07.2018
20:16:18
Если в джобе происходит коннект к базе, то рекомендуют делать что-то типа этого:
ActiveRecord::Base.connection_pool.with_connection do
# do some stuff
end
чтобы автоматически закрыть коннект к базе в конце. А что если произойдет эксепшен внутри блока? Коннект закроется, или останется висеть?

Igor
10.07.2018
20:46:45
Добрый день, кто нибудь вкурсе можно ли дать постгресу больше памяти\ядер? У меня очень жирный запрос, юзается почему то только 3 ядра (из 20) не знаю даже сегодня ли он закончится ?

Aleksey
10.07.2018
20:49:46
Это надо найти какой-то девопс канал )

Gleb
10.07.2018
20:51:07
Можно попробовать поставить побольше connection_pool. А так постгра сама умная и решает как ей утилизировать ресурсы

Igor
10.07.2018
20:51:50
в итоге всего около 20 минут вышло) правда фейл странный
ActiveRecord::StatementInvalid (PG::DiskFull: ERROR: could not write block 5822370 of temporary file: No space left on device)
CONTEXT: parallel worker
на ссд еще 130 гб (у меня вся база меньше весит), оперативки тоже около 25гб было свободно. Запрос делает запись в .csv, может кто сталкивался

Gleb
10.07.2018
20:54:18
а ты посмотри сколько утекает во время выполнения запроса
раз он такой жирный и страшный, может и прожорливый

Igor
10.07.2018
20:54:56
с ссд?

Gleb
10.07.2018
20:56:27
угу

Igor
10.07.2018
21:02:00
да, чето жрется знатно

Google

Eugene
10.07.2018
22:50:59
А сколько он использует?

Silent Bob
11.07.2018
07:26:49
Можно ли в Carrierwave получать осмысленные имена для файлов когда нужно загружать множественное количество файлов (mount_uploaders) ? Я нашел только способ рандомно генерить id для filename как тут https://github.com/carrierwaveuploader/carrierwave/issues/1716 , но хотелось бы что то типа my_image_1.jpg, my_image_2.jpg и т.д.

Roman
11.07.2018
08:31:10
Привет!
У меня на сайте есть поиск, встала задача исправлять запрос если юзер перепутал расладку
"ghbdtn" -> "привет"
Для поиска используется эластик
Есть что то готовое - gem/best practice? Кто как решал подобную задачу?

Lavrushchik
11.07.2018
12:21:33
Гайзы, вопрос.
Есть ли какая-нибудь приблуда а-ля гугло-экселевских таблиц, чтобы прикрутить к рельсовому приложению? чтоб вот прям такой же функционал был

Aleksey
11.07.2018
12:23:38

Roman
11.07.2018
12:24:10

Aleksey
11.07.2018
12:24:14
а не, ну не совсем элементарная )
ага
ну еще словарь сбоку прикрутить и готово

Roman
11.07.2018
12:24:40
вот меня больше про словарь
интересует
точнее про то, как сделать без него
не оч хочется прикручивать словарь
вопрос в том как понять что фраза введена в неверной раскладке не прибегая к помощи словарей и дополнительных поисков в эластике

Aleksey
11.07.2018
12:28:22
если узнаешь как это без словарей делать, поделись )
мне кажется что никак

Roman
11.07.2018
12:29:59
Вот такую штуку нашел https://github.com/fuCtor/ruby-lang-correct

Gleb
11.07.2018
12:30:17
как насчет подозревать каждый ввод на неправильность и делать or? )

Roman
11.07.2018
12:30:23
Но она в виде скрипта, взять и вставить в проект не получится

Aleksey
11.07.2018
12:30:33
еще один вариант, тупо делать два запроса в эластик - введенный юзером и с отраженной раскладкой. а потом выдавать то где результатов больше )

Roman
11.07.2018
12:31:33

Google

rekero
11.07.2018
12:31:40

Roman
11.07.2018
12:31:52

Aleksey
11.07.2018
12:31:58
попахивает )

Roman
11.07.2018
12:32:03

Aleksey
11.07.2018
12:32:19
а что не так со “скриптом" что выше кинули?
кинуть себе этот класс и юзать

Gleb
11.07.2018
12:32:24
да так то еластик съест и больше ) подумаешь по 2 запроса
вспомнил, что у меня поиск делает 3

Roman
11.07.2018
12:33:12
просто предположил, что есть варианты

rekero
11.07.2018
12:40:52

Aleksey
11.07.2018
12:41:21
вариаций масса (с) ))
все равно решение так себе, как батин суп

Roman
11.07.2018
12:42:44
Вообще, склонил этот скрипт https://github.com/fuCtor/ruby-lang-correct
Вроде как очень ничего работает на первый взгляд

Darth
11.07.2018
14:28:24
Есть ли метод .in? но наоборот по аналогии с include? и exclude?

ojab
11.07.2018
14:28:58

Darth
11.07.2018
14:30:31

Google

ojab
11.07.2018
14:30:50
ну, это active support, а не ruby
в ruby не существует

Darth
11.07.2018
14:32:09
Ну да, AS, но не вижу обратного .in?
if .out? бы читалось лучше, чем unless .in?

Admin
ERROR: S client not available

ojab
11.07.2018
14:33:27
а, тебе условный .not_in? нужен

Darth
11.07.2018
14:33:55
да, типа того

Fedor
11.07.2018
16:16:58
!array.include?(i)

Nikita
11.07.2018
16:17:16
Это exclude?

David
11.07.2018
16:17:29
да

Fedor
11.07.2018
16:17:37
Скорее not in

Nikita
11.07.2018
16:17:40
Это не вопрос был)

Fedor
11.07.2018
16:17:43
Дословно )

David
11.07.2018
16:17:44
exclude == !include

Fedor
11.07.2018
16:19:30

Roman
11.07.2018
16:21:13
Я в любом случае скриптик тот прикрутил и все вроде неплохо работает

Ann
12.07.2018
05:54:54
приветы. Кто нибудь может понятно объяснить как запускать воркеры resque и почему они могут падать? типичные случаи, так сказать

mr.Serj
12.07.2018
08:18:47
Чуваки, а чем пользуетесь для конвертации хтмл в пдф?
Wicked_pdf чет с бутстрапом 4м подружить не могу

Google

Boris
12.07.2018
08:19:36
vkhtml2pdf помню юзал, но там была очень простая чернобелая таблица

mr.Serj
12.07.2018
08:32:58

Артур
12.07.2018
08:34:43
wicked_pdf вроде и работает поверх vkhtml2pdf
надо смотреть еще в каком окружении оно работает, на сервере у меня далеко не сразу заводилось

Boris
12.07.2018
08:40:55
возможно, история была около 3-х лет назад
вообще в pdf хорошо делает браузер при отправке на печать
но оно конечно не всегда подходит

Darth
12.07.2018
09:54:19
Отличная штука
Тоько я с pdf_kit делал
Но он юзает ту же системную либу
Лейауты нужно отдельно делать и некоторые стили не очень правильно отображает, но это легко решается

Andrey
12.07.2018
11:33:16
Йо. Привет.
Чего-то потерялся, не пойму.
Задача такая:
грубо говоря есть табличка, в которой 10 столбцов.
В одном из них находятся position_id.
Так вот, в index странице activeadmina нужно сделать вывод строк, только с уникальными id из столбца position_id
scope что-то не работает на это