
Vlad
18.09.2018
21:29:40
а крон нифига
ну значит таки пути какие то отсутствуют. Заюзай веневер, экспортни пути все, тогда можно будет быть уверенным что внутри крона окружение будет 1 в 1 как в консоли
смотри логи еще от команды крона
очень полезно

Google

Vlad
18.09.2018
21:29:40
проверь у тебя демон крона запушен и работает вообще или нет
ну и можешь логи куда-нибудь складывать
ну в процессах запущен)
я просто в линуксе немного дуб ещё)
спасибо всём
а можно сделать через runner? ( код на чистом руби без рельсов)
нужно только метод call использовать, а не запускать файл main.rb
runner "Parser.call"
или без рельсов никак?

Amir
18.09.2018
23:46:20
ну блин, твой же скрипт должен запустить в окружении рельцов или нет
у меня затея поменять у одной две таблицы primary key тип на UUID postgresql
как нормально сделать без потери данных

Антон
19.09.2018
05:58:26
как нормально сделать без потери данных
создать uuid, проставить везде uuid
создать референсы, прописать везде новые референсы
поменять primary key, удалить id
переименовать uuid -> id
переименовать reference_uuid -> reference_id
естественно протестировать все шаги на девелопменте, перед выкаткой сделать дамп

Google

Amir
19.09.2018
06:15:02
я уже насоздал несколько миграций
и вдруг выяснилось что перед всеми этими миграциями надо было еще кое что сделать
и как правильно генерировать миграцию задним числом, чтобы он по порядку выполнился первым\
гугл советует мне запустить с параметром VERSION
но это не катит, т.к. на проде вряд ли такая фишка прокатит

Igor
19.09.2018
06:26:36
Нормально прокатит
Если на проде уже прогнались, то ?♀
Прокатит, но нужно писать с учётом того, что другие уже выполнены

Антон
19.09.2018
07:02:45
я хочу убивать
url << '?' + params.map { |k, v| CGI.escapeHTML("#{k}=#{v}") }.join('&')

Sergii
19.09.2018
07:25:48
бывает

Anton
19.09.2018
07:25:59
Лепота

Sergii
19.09.2018
07:26:09
кто-то нашел на SO пост от 2004 года и применил рецепт )

Anton
19.09.2018
07:26:23
Я, кстати так и не нашёл удобный способ такие хрени делать
На чистом руби

Антон
19.09.2018
07:26:52
на чистом руби нету да

Anton
19.09.2018
07:27:29
Хоть фарадей юзал
Юзай

Антон
19.09.2018
07:28:09
Addressable

Andiskiy
19.09.2018
09:14:21
добрый день. при A.joins(:b) возвращаются дубликаты, в зависимости сколько схождений в модели В. я пытаюсь сделать sum, но у меня суммируются вместе с дубликатами. Если сделать A.joins(:b).distinct записи возвращаются уникальными, но сумма все равно старая, потому что в запросе выполняется в начале сумма. Подскажите пожалуйста, как правильно сделать запрос, чтобы выводилась сумма только уникальных записей из модели? меня интересует именно как вернуть это из БД.

Vasiliy
19.09.2018
09:21:55
если получится то попробуй разбить на подзапросы

Google

Andrey
19.09.2018
09:32:12
Всем привет, может быть немного нубский вопрос, но возможно кто-то знает.
У нас есть к примеру хелпер от роута - payment_methods_path
Как получить соотвествующие контроллер и экшон?

Aleksey
19.09.2018
09:33:48
вопрос не нубский, вопрос странный - а какой юзкейс?

Andrey
19.09.2018
09:35:35
Если совсем в кратце, у нас меню конфигуриться в yml файле.
чота типа:
payment_methods:
icon: payment_methods.svg
path: payment_methods_path
И нужно для current_user прочекать CanCan ability, можно туда или не очень
Теоретически - если достать контроллер, и экшен, дальше из контролера достать load_and_authorize_resource(что-бы получить класс объекта) можно это сделать

Aleksey
19.09.2018
09:40:48
т.есть есть “динамическое” меню на базе данных из ямла, надо понимать - нужно ли рендерить какую-то менюшку на основании прав доступа к каждой ссылке?

Andrey
19.09.2018
09:42:17
да

Aleksey
19.09.2018
09:42:21
я бы добавил в YML ключи пермишенов как самый простой и прямолинейный вариант, типа
payment_methods:
icon: …
path: …
permissions: my_cancan_key
и в рендерере уже чекай есть права или нет

Andrey
19.09.2018
09:44:41
my_cancan_key несовсем понял как его использовать

Антон
19.09.2018
09:45:26
скорее всего, это меню дешевле захаркдодить
практика говорит именно об этом

Andrey
19.09.2018
09:47:12
а потом типа проверять - can :read, :payment_method ?

Aleksey
19.09.2018
09:47:27

Andrey
19.09.2018
09:48:34
да, действительно, наверное это будет самый лучший вариант. Спасибо.

Qwizzy
19.09.2018
09:50:34
Привет.
Запускаю скрипт через rails runner - получаю undefined local variable or method 'helper' for main:Object на строчке с helper.time_ago_in_words()?
Через rails console все работает без каких-либо дополнительных require. ENV один и тот же.
Почему такое может быть?

Sergii
19.09.2018
10:08:47
или экшн хелпер

Qwizzy
19.09.2018
10:15:50

Dinmukhamed
19.09.2018
10:39:34
Добрый день! Можете помочь нубу? Проблема миграции с эксел на mysql. RoR. Проект этот на редмайне, а код в PeopleInformation.rb. Это Модель пренадлежаший плагину.
или лучше скинуть на github а потом туда ссылку дать? Пожалуйста)

Google

Dinmukhamed
19.09.2018
10:41:41
Очень нужна помощь

Vasiliy
19.09.2018
10:42:25
gist.github

Dmitry
19.09.2018
10:44:44
шапку почитай
pinned message

Dinmukhamed
19.09.2018
10:47:12

Admin
ERROR: S client not available

mike
19.09.2018
10:50:50
только крестик не нажимай а то всё взорвётся

Dinmukhamed
19.09.2018
10:51:26
Спасибо)

Ann
19.09.2018
10:51:29
*нажимает*

mike
19.09.2018
10:51:41
блин

Dinmukhamed
19.09.2018
11:08:50

Andrey
19.09.2018
11:29:36
@select_username о, явил свой светлый лик)


Детсад
19.09.2018
11:34:10
Добрый день! Можете помочь еще одному нубу? Вопрос про ruby GC.
У меня есть ruby приложение,fluentd. Мы его используем для того, чтобы логи основного приложения пересылать в elastic search - как in memory буфер. Проблема в том, что этот гад отъедает память. Мы запускаем его в докере, выставляем лимит памяти 250 мегабайт. Он начинает работать. Ну ладно, во время большой нагрузки. Но даже если мы отправляем ему одно сообщение в секунду он все равно продолжает отжирать память. Потребление памяти увеличивается ступеньками примерно раз в 20 минут на 4 мегабайта. Мы начали использовать версию ruby с jemalloc, настроили максимум потребления памяти по всем параметрам - типа RUBY_GC_HEAP_GROWTH_MAX_SLOTS, RUBY_GC_MALLOC_LIMIT_MAX, RUBY_GC_OLDMALLOC_LIMIT_MAX - причем очень маленькие значения. мегабайты. Судя по gc log все стоит на месте. Но процесс все равно отъедает какие-то новые куски. Кто-нибудь имел опыт с этим зверем? Можно как-то в ruby жестко задать верхнюю планку потребления памяти?


Антон
19.09.2018
11:41:38


Sergii
19.09.2018
11:50:37
странные вообще тренды, что флюентд, что всякие обвязки для графита на питоне

Eugene
19.09.2018
11:51:06
ML ML ML ML

Детсад
19.09.2018
11:51:24

Google

Детсад
19.09.2018
11:52:41
Можно предположить, что ruby там вообще ни при чем, течет сишный код, который все в эластик отправляет. Или какой-то другой сишный код.

Антон
19.09.2018
11:52:49
я не говорил что fluentd течет
вдруг у вас netstat течет

Детсад
19.09.2018
12:01:13

Антон
19.09.2018
12:32:23
это был детсадовский троллинг
в контейнере может течь не обязательно руби приложение
Все еще пункт 1)
Вы лечите симптом, но даже не знаете где у вас болит
-- Доктор, я куда пальцем не ткну всегда больно
-- Э... батенька, да у вас палец сломан

Детсад
19.09.2018
12:47:24
Ну может и так конечно. Но поскольку это все-таки ruby приложение, и причем достаточно популярное и широко используемое, то первое подозрение было на ruby. Ну и к тому же давно в руки я не брал сишного дебаггера и надеялся и дальше этого не делать. Ну потому что это какой-то ад и израиль - ты ставишь сайдкар, задача которого просто немного буферизировать логи, а это выливается в дикий флюродрос на пару недель.

Vasiliy
19.09.2018
12:50:05
Профилировать не вариант?

Детсад
19.09.2018
12:55:06
Профилировать не вариант?
Я в этом не очень специалист. Думаю так с наскока оно быстро не получится. Если все так плохо, то логичнее было бы решить эту проблему другим способом.
Ну если кратко - я это не умею и поэтому не хотелось бы начинать. А если начнешь, то боюсь это может занять больше времени, чем у меня есть на решение проблемы.

Искандар
19.09.2018
13:17:40
делать хоть что-то гораздо лучше чем не делать ничего и ждать ответа

Антон
19.09.2018
13:26:19