Size: a a a

Clojure — русскоговорящее сообщество

2021 November 29

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Не мудри!
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Можно вместо передачи какого-то стэйта инициализировать стейт для отправки метрик как функцию. Те.  инициализироваться будет всегда, но в случае если метрики не нужны эта функция не будет делать ничего
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
господа, вопрос по датомику:
вытаскиваю некие данные из базу, че-то там долго считаю, после этого строю tx-data и коммичу ее обратно, как вот мне идеоматично убедиться, что критичные данные, на которых я основывался не поменялись? Т.е. нужно что-то вроде cas, но сложнее
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
пока у меня из идей только какой-то cas добавить с транзакцию, который ничего не меняет по факту
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
У тебя же там tx должен быть где-то?
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Я уже смутно помню.
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Полагаю, использовать кастомные транзакционные функции. Но они должны быть чистыми
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
такая функция получает первым аргументом базу и может из нее читать. Но нельзя ходить в сеть или в файлы
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
похоже это может помочь, спасибо
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
угу, но проблема в основном в том, что между получением данных из базы и моей транзакцией, которая должна ее изменить база могла мутировать и мои расчеты уже могут быть не валидны
источник

AL

Arseniy Lebedev in Clojure — русскоговорящее сообщество
Это классическая проблема платежных систем
источник

AS

Andrey Shuster in Clojure — русскоговорящее сообщество
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
ну да,в sql это можно сделать в одной изолированной транзакции, в датомике, похоже тоже, ковыряю щас функции. Мне только пока не очень понятно, как датомик эти такие транзакции изолирует.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
просто последовательно их накатывая в один поток
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
> Datomic is a single-writer system.
а ну понятно
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну там ничего не лочится если что
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
очередь?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
транзакции сериализуются и накатываются транзактором, который и есть этот single-writer
источник

AU

Alexander Ushanov in Clojure — русскоговорящее сообщество
надо бы где-то почитать про это вот все
источник