Size: a a a

2020 July 15

ŹR

Źmićer Rubinštejn in pro.elixir
Максим Барулин
Как отловить ошибку внутри  Repo.transaction?  Добавляю результаты опроса, так как их несколько внутри цикл для вставки. В базе стоит уникальный ключ пользователь-опрос, если нет unique_constraint в changeset то кидает исключение, что логично, если есть - тоже кидает исключение, но другое - ERROR 25P02 (in_failed_sql_transaction) current transaction is aborted, commands ignored until end of transaction block Что я сделал не так?
Ну как бы надо сделать uniq_constraint в changeset, в этом и смысл
источник

МБ

Максим Барулин... in pro.elixir
он там есть
источник

МБ

Максим Барулин... in pro.elixir
почему всё-равно исключение?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Хз, звучит странно. А если вручную ты повызываешь команды из консоли, нигде не будет исключения?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Имеется ввиду без транзакции
источник

ŹR

Źmićer Rubinštejn in pro.elixir
По очереди
источник

МБ

Максим Барулин... in pro.elixir
без транзакции проблемы нет. разобрался, в общем. Если внутри транзакции что-то не срослось, то надо ручками делать rollback
источник

AB

Alex Bubnov in pro.elixir
Никита
Тогда понял. У вас в репо только БД, либо за ним скрыто получение данных с разных источников?
только один источник.
(и даже так уже чересчур много, потому что зачем-то есть попытка унифицировать sql- и nosql-бэкэнды)
источник

Н

Никита in pro.elixir
Alex Bubnov
только один источник.
(и даже так уже чересчур много, потому что зачем-то есть попытка унифицировать sql- и nosql-бэкэнды)
Хорошо, например, у вас есть сущность уведомление, которое вам нужно положить в базу, чтобы потом выводить человеку, а также нужно отправить его пушем на телефон. Вы сделаете два отдельных сервиса типа database с методом StoreNotification и notifier с методом Send, либо же сделаете один сервис уведомлений, у которого будут методы Store и Send?
источник

AB

Alex Bubnov in pro.elixir
Никита
Хорошо, например, у вас есть сущность уведомление, которое вам нужно положить в базу, чтобы потом выводить человеку, а также нужно отправить его пушем на телефон. Вы сделаете два отдельных сервиса типа database с методом StoreNotification и notifier с методом Send, либо же сделаете один сервис уведомлений, у которого будут методы Store и Send?
да хз вообще, от прочих требований зависит.
нужно ли  вообще уведомления класть в базу? какие гарантии доставки пушем? etc

скорей всего, я положу список уведомлений для юзера в какой-нибудь мемкеш/редис/подобное, на появление нового буду слать пуш на телефон, инициирующий полл+pop из хранилища, периодически ретраить этот пуш.
источник

AB

Alex Bubnov in pro.elixir
в коде, скорей всего, спрячу это за один интерфейс, но это не точно
источник

Н

Никита in pro.elixir
Alex Bubnov
в коде, скорей всего, спрячу это за один интерфейс, но это не точно
То есть один сервис, правильно понял?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
С точки зрения контроллера будет один сервис
источник

AB

Alex Bubnov in pro.elixir
Никита
То есть один сервис, правильно понял?
да представления не имею(и не интересно)
источник

AB

Alex Bubnov in pro.elixir
скорее всего да, это один интерфейс
источник

Н

Никита in pro.elixir
То есть сгруппируете сервис по бизнес контексту, а именно работе с уведомлениями, понял
источник

AB

Alex Bubnov in pro.elixir
скорее, да, но еще раз - это зависит от прочей функциональности. я сейчас не могу придумать точного кейса, но не исключаю, что там будет две сущности, если припрет.
источник

AA

Adilet Abylov in pro.elixir
Мы делаем. Spalmalo из Бишкека
источник

TZ

Trofim Zhugastrov in pro.elixir
Adilet Abylov
Мы делаем. Spalmalo из Бишкека
Спасибо! Добавил к своему списку ) А почему в технологиях на сайте не указываете интересно?
источник
2020 July 16

AA

Adilet Abylov in pro.elixir
Trofim Zhugastrov
Спасибо! Добавил к своему списку ) А почему в технологиях на сайте не указываете интересно?
Как обычно, некогда своим сайтом заниматься.
Но у нас есть spalmalo.ee для европы, тут чисто про руби и эликсир
источник