@rubylang

Страница 1563 из 1684
Иван
10.07.2018
16:04:47
Не очень вижу смысла прлодить еще одну сущность только ради теста
ну тогда можно протестить отдельно perform метод, отвечающий за логику и отдельно что при вызове perform_async кол-во джобов увеличиывается на 1

Смерть
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
Гайзы, вопрос. Есть ли какая-нибудь приблуда а-ля гугло-экселевских таблиц, чтобы прикрутить к рельсовому приложению? чтоб вот прям такой же функционал был

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
как насчет подозревать каждый ввод на неправильность и делать or? )
Звучит норм если нужно было бы миксовать результаты но в моем случае это не нужно, нужно просто вывести "возможно, вы искали бла бла бла"

Google
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
а что не так со “скриптом" что выше кинули?
ну в нем ковыряться надо) непонятно как с работоспособностью. подумал что есть просто готовый гем вставил и все, вдруг я просто плохо гуглю

просто предположил, что есть варианты

Вот такую штуку нашел https://github.com/fuCtor/ruby-lang-correct
но вообще по описанию выглядит не плохо, на досуге можно попробовать в гем запаковать

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 помню юзал, но там была очень простая чернобелая таблица

Артур
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 что-то не работает на это

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