Size: a a a

Saint P Ruby Community

2020 March 15

AN

Andrey Novikov in Saint P Ruby Community
Odebe
Да, но тогда, если потом нужны какие-то операции над этими данными, то придётся как-то парсить логи или записывать в виде джисона.
У нас инфа по важным процессам пишется в базу и потом в отдельный лог пишется короткая сводка.
(И на почту отправляется оповещение, если есть ошибки (прикручивание сентри в процессе)).
Пока самый быстрый и грязный фикс - обернуть отправку лога в after_commit и after_rollback (например с помощью гема after_commit_everywhere).
Но правильно - это перестать оборачивать внешние вызовы в транзакции (есть гем isolator, чтобы ловить такое поведение в тестах)
источник

DP

Di P in Saint P Ruby Community
Круто, спасибо!
источник

M

Max in Saint P Ruby Community
Посмотри этот доклад https://youtu.be/Ku-IqG4X3q4 очень интересное решение. Я тоже страдал с внешними вызовами из транзакций. Теперь построили решение на основе идеи из доклада. Полет нормальный. У автора доклада есть гем (мне не подошел) и пара интересных гистов по теме. Очень рекомендую...
источник

AD

Anton Davydov in Saint P Ruby Community
Nikita Shilnikov
that said, решение ты нагуглил правильное
Я так делал пару раз с ромом, мне помогло логи писать в транзакции
источник

AD

Anton Davydov in Saint P Ruby Community
Dmitry Tsepelev
либо можно про саги почитать
А можешь рассказать как тут сага поможет?
источник

AD

Anton Davydov in Saint P Ruby Community
Max
Посмотри этот доклад https://youtu.be/Ku-IqG4X3q4 очень интересное решение. Я тоже страдал с внешними вызовами из транзакций. Теперь построили решение на основе идеи из доклада. Полет нормальный. У автора доклада есть гем (мне не подошел) и пара интересных гистов по теме. Очень рекомендую...
А что в библиотеке не подошло?
источник

M

Max in Saint P Ruby Community
Она немного сыровата и не ясно на сколько будет поддерживаться. Написали свое решение.. Но идея как у Сергея.
источник

M

Max in Saint P Ruby Community
А вообще сага как раз позволит построить откатываемую последовательность транзакций не оборачивая в бд транзакцию
источник

AD

Anton Davydov in Saint P Ruby Community
Max
А вообще сага как раз позволит построить откатываемую последовательность транзакций не оборачивая в бд транзакцию
Там же изначальная проблема была сохранить лог выполнения транзакции в той же базе
источник

M

Max in Saint P Ruby Community
Та не. Проблема была концептуальная. Внешние вызовы из БД транзакций :)
источник

DT

Dmitry Tsepelev in Saint P Ruby Community
Anton Davydov
Там же изначальная проблема была сохранить лог выполнения транзакции в той же базе
Кажется, что проблема именно “сохранить лог выполнения куда–нибудь”, решили в какой–то момент писать в базу, а теперь оно (решение) мешает
источник

DT

Dmitry Tsepelev in Saint P Ruby Community
Anton Davydov
А можешь рассказать как тут сага поможет?
Я так понимаю можно будет все изменения БД и работу с внешними сервисами убрать из транзакции, и помечать их каким–нибудь ID транзакции, если придется отменить — то по этому ID можно будет найти эти записи и отменить изменения
источник

DT

Dmitry Tsepelev in Saint P Ruby Community
Если что, я так ни разу не делал, мыслительное программирование 😄
источник

AD

Anton Davydov in Saint P Ruby Community
Dmitry Tsepelev
Кажется, что проблема именно “сохранить лог выполнения куда–нибудь”, решили в какой–то момент писать в базу, а теперь оно (решение) мешает
Вот так же и подумал
источник
2020 March 16

KB

Katya Barasheva in Saint P Ruby Community
RailsGirls переносится на неопределенный срок🙁
источник

ЕТ

Екатерина Тхоржевская in Saint P Ruby Community
источник

RI

Rustam Ibragimov in Saint P Ruby Community
🥺
источник

v

vizvamitra in Saint P Ruby Community
кстати сейчас у людей возможно появится время и желание заняться изучением проги. наверняка думали про онлайн формат?
источник

KB

Katya Barasheva in Saint P Ruby Community
vizvamitra
кстати сейчас у людей возможно появится время и желание заняться изучением проги. наверняка думали про онлайн формат?
мысль, конечно, хорошая, но имхо трудно организуемая. В любом случае можно подумать в эту сторону)
источник

VA

Vsevolod Avramov in Saint P Ruby Community
/me <<- не нажимай сюда
источник