Size: a a a

Ruby, Rails, Hanami | dry-rb

2020 March 15

В

Владимир in Ruby, Rails, Hanami | dry-rb
источник

В

Владимир in Ruby, Rails, Hanami | dry-rb
но файл все равно приходит битым
источник

В

Владимир in Ruby, Rails, Hanami | dry-rb
источник

В

Владимир in Ruby, Rails, Hanami | dry-rb
короче разобрался)
я отправлял  
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==

и нужно было убрать data:image/png;base64,

но вот эта часть data:image/png;base64, нужна для сохранения файла через carrierwave_base64

короче не понятно почему в одном месте нужна а во втором нет
источник

A

Artem in Ruby, Rails, Hanami | dry-rb
Владимир
короче разобрался)
я отправлял  
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==

и нужно было убрать data:image/png;base64,

но вот эта часть data:image/png;base64, нужна для сохранения файла через carrierwave_base64

короче не понятно почему в одном месте нужна а во втором нет
Может стоит отправлять ссылку на скачивания файла, а не сам файл, все таки base64 увеличивает размер файла.
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
Di P
Ребят, подскажите как можно справиться с такой проблемой:
Есть актив рекорд транзакция внутри которой происходит некий набор бизнес логики, в том числе вызов внешних сервисов, еще кой чего, в том числе запись в бд диагностической информации. И вот если что-то пошло не так, транзакция откатывается. Но и диагностическая информация в бд тоже не записывается, вообще теряясь, она ж внутри транзакции.
После гугления видится только вариант что диагностическую инфу писать в отдельном потоке на отдельном соединении с бд, тогда откат материнской транзации на это соединение не повлияет.
Ну или отрефакторить код чтобы запись диагностической инфы была вне материнской транзации.
Но может кто еще какие варианты может предложить? Рельса 4.2.
а зачем транзакция тут?
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
ну и посмотри transaction boundaries
источник

DP

Di P in Ruby, Rails, Hanami | dry-rb
Danila Ermakov
а зачем транзакция тут?
Ну суть в том что может придти вызов от внешнего сервиса, и начинается некая длительная процедура обновления модели в том числе с вызовами наружу. Беда в том что в это время может придти еще один вызов на эту же модель, и в этом случае коней надо придержать как минимум пока первый процесс не закончится. Сейчас реализовано так что этот длинный процесс обернут в Model.with_lock. Сижу раскуриваю более лучшее решение )
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
не, это по другому надо делать
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
вот эти ребята подобную проблему решают
может тебе концепция подойдет, а может либу возьмешь
https://github.com/bia-technologies/lowkiq
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
источник

DE

Danila Ermakov in Ruby, Rails, Hanami | dry-rb
а тут объясняют
источник

DP

Di P in Ruby, Rails, Hanami | dry-rb
Круто, спасибо, почитаю!
источник
2020 March 16

КК

Кракозябр Кракозябрович in Ruby, Rails, Hanami | dry-rb
Подскажите. В рельсах можно как-то  имя вызывающего колбэка передать в функцию, которую этот коллбэк и вызывает? 😅
источник

AA

Alexander Alyoshin in Ruby, Rails, Hanami | dry-rb
caller_locations ?
источник

AI

Alex Iv in Ruby, Rails, Hanami | dry-rb
Di P
Ребят, подскажите как можно справиться с такой проблемой:
Есть актив рекорд транзакция внутри которой происходит некий набор бизнес логики, в том числе вызов внешних сервисов, еще кой чего, в том числе запись в бд диагностической информации. И вот если что-то пошло не так, транзакция откатывается. Но и диагностическая информация в бд тоже не записывается, вообще теряясь, она ж внутри транзакции.
После гугления видится только вариант что диагностическую инфу писать в отдельном потоке на отдельном соединении с бд, тогда откат материнской транзации на это соединение не повлияет.
Ну или отрефакторить код чтобы запись диагностической инфы была вне материнской транзации.
Но может кто еще какие варианты может предложить? Рельса 4.2.
Нужно экстрактировать ошибки валидации, из за которых транзакция ложится и возвращать их. Напиши в лс, покажу как сделать.
источник

AA

Alexander Alyoshin in Ruby, Rails, Hanami | dry-rb
Alex Iv
Нужно экстрактировать ошибки валидации, из за которых транзакция ложится и возвращать их. Напиши в лс, покажу как сделать.
Пиши тут, вдруг кому пригодится
источник

AI

Alex Iv in Ruby, Rails, Hanami | dry-rb
источник

AI

Alex Iv in Ruby, Rails, Hanami | dry-rb
Di P
Ну суть в том что может придти вызов от внешнего сервиса, и начинается некая длительная процедура обновления модели в том числе с вызовами наружу. Беда в том что в это время может придти еще один вызов на эту же модель, и в этом случае коней надо придержать как минимум пока первый процесс не закончится. Сейчас реализовано так что этот длинный процесс обернут в Model.with_lock. Сижу раскуриваю более лучшее решение )
Нужно не транзакцию мутить а добавить какой-то класс, подобрать нужный паттерн. Я бы изменил подход к решению задачи - изменился бы и способ. По факту - тут должно быть несколько шагов, которые ты суешь в один.
источник

AI

Alex Iv in Ruby, Rails, Hanami | dry-rb
источник