Size: a a a

2020 August 28

SP

Sergey Prokhorov in ErlangRus
Есть ещё pgo от автора relx
источник

EI

Evgeniy Isaev in ErlangRus
Sergey Prokhorov
Есть ещё pgo от автора relx
Не смотрел раньше. Сейчас глянул и сходу не вижу там например prepared queries, но возможно просто дока неполная и нужно нырять в код.
источник

SP

Sergey Prokhorov in ErlangRus
Evgeniy Isaev
Не смотрел раньше. Сейчас глянул и сходу не вижу там например prepared queries, но возможно просто дока неполная и нужно нырять в код.
Типа чтоб один раз prepare и потом переиспользовать? Или в целом чтоб a=$1 AND b=$2
источник

EI

Evgeniy Isaev in ErlangRus
Sergey Prokhorov
Типа чтоб один раз prepare и потом переиспользовать? Или в целом чтоб a=$1 AND b=$2
Ну на подобии epgsql:prepared_query. Чтоб подготовить запрос, а потом многократно использовать, подсовывая только аргументы.
источник

SP

Sergey Prokhorov in ErlangRus
Evgeniy Isaev
Ну на подобии epgsql:prepared_query. Чтоб подготовить запрос, а потом многократно использовать, подсовывая только аргументы.
А, не знаю есть ли там такое
источник

ИИ

Иванов Иванов... in ErlangRus
Sergey Prokhorov
Есть ещё pgo от автора relx
еще где-то у process one был вроде
источник

ИИ

Иванов Иванов... in ErlangRus
источник

SP

Sergey Prokhorov in ErlangRus
Да он ничем не лучше epgsql
источник

ИИ

Иванов Иванов... in ErlangRus
Sergey Prokhorov
Да он ничем не лучше epgsql
epgsql самый норм да
источник
2020 August 29

В

Вася in ErlangRus
У pgo встроенный пул. Внутри транзакций нельзя делать запросы к другим серверам бд (то есть, чтобы что-то получить с другого PostgreSQL, нужно завершить текущую функцию с транзакцией), нельзя просто указать другое имя пула. Помимо этого, неудобно сделали uuid, этот тип возвращается в бинарном формате, а не человекочитаемом. Нужно или свой декодер делать, или на всех uuid в запросах навешивать преобразование ::TEXT
источник

В

Вася in ErlangRus
А. Огромный плюс pgo - то что из его транзакций видно io:format, в epgsql вывод в консоль через io:format гасится внутри функции с транзакцией, что бывает неудобно.

И о неприятном. Если при старте нет базы, но пароль и логин верны, то съедаются все файловые дескрипторы, но ошибок никаких не показывается
источник

SP

Sergey Prokhorov in ErlangRus
Вася
А. Огромный плюс pgo - то что из его транзакций видно io:format, в epgsql вывод в консоль через io:format гасится внутри функции с транзакцией, что бывает неудобно.

И о неприятном. Если при старте нет базы, но пароль и логин верны, то съедаются все файловые дескрипторы, но ошибок никаких не показывается
Насчет io:format звучит странно
источник

SP

Sergey Prokhorov in ErlangRus
Ну в смысле в epgsql для транзакции есть только простейший epgsql:with_transaction который не делает ничего с io
источник

ML

Maksim Lapshin in ErlangRus
Sergey Prokhorov
Насчет io:format звучит странно
Я тоже не понял. Io:format вообще куда кроме как в консольную тулзу нужен?
источник

В

Владислав in ErlangRus
Переслано от Владислав
Народ. Проблема на живом кластере.
Суть: есть десяток нод, общающихся через rpc ерловский. Чтобы логгер спамил только в одно место - используется :erlang.whereis(:user)
Всегда было всё хорошо, запросы бегали. Сейчас одна из нод тупит. Whereis выплевывает undefined. И запрос дальше не бежит.
Собрано через коробочный сборщик.

Пробовали дропать и перезапускать ноду.
Пробовали пересобирать.
Как ноду, так и кластер.
Дропали epmd со всеми процессами.

Дополнительно: когда пытаешься запустить ноду в режиме демона - она в таком режиме работает.
Когда через start - работает как надо.

Нужны свежие мысли на эту тему.

Сразу скажу, что предложения по тому, чтобы убрать whereis и все будет работать не имеют жизни. Ибо это скорее симптом, а не причина.
источник

DZ

Danil Zagoskin in ErlangRus
Владислав
Переслано от Владислав
Народ. Проблема на живом кластере.
Суть: есть десяток нод, общающихся через rpc ерловский. Чтобы логгер спамил только в одно место - используется :erlang.whereis(:user)
Всегда было всё хорошо, запросы бегали. Сейчас одна из нод тупит. Whereis выплевывает undefined. И запрос дальше не бежит.
Собрано через коробочный сборщик.

Пробовали дропать и перезапускать ноду.
Пробовали пересобирать.
Как ноду, так и кластер.
Дропали epmd со всеми процессами.

Дополнительно: когда пытаешься запустить ноду в режиме демона - она в таком режиме работает.
Когда через start - работает как надо.

Нужны свежие мысли на эту тему.

Сразу скажу, что предложения по тому, чтобы убрать whereis и все будет работать не имеют жизни. Ибо это скорее симптом, а не причина.
имя user ̣должно указывать на локальный процесс или на процесс на другой ноде?
источник

В

Владислав in ErlangRus
локальный
источник

DZ

Danil Zagoskin in ErlangRus
Владислав
локальный
а сам процесс жив?
источник

VS

Vladimir Sekisov in ErlangRus
не очень понятно, user - это системный user, который user_sup запускает
или другой процесс?
источник

В

Владислав in ErlangRus
системный
источник