Aug. 19th, 2020

дыбр

Aug. 19th, 2020 05:20 pm
kdanilov: Кирша Данилов (Default)
Ну чо, с Браяном стусовался, обсудил мой пиарчик небольшой; надо теперь улучшить, по его запросам.

Изучал варианты решения вопроса race condition. Еще пока в постели лежал, на самом деле. Картинка сложилась, потом осталось только написать код. Что я и сделал, когда встал.

В час был скрам; меня после часа скрама типа хоть выноси да наливай. Осталось 699 дней. Впрочем, все по желанию; можно и сейчас, или как надоест. У меня есть план.

Ладно. На скраме Праб задвинул, что он тоже багу чинит, race condition. Я потом поинтересовался, как он ее чинит. Он ее чинит так: если вставка данных не идет, потому что те данные, на которые ссылаемся, еще не найдены в базе (ACID! fucking ACID!), то он делает две вещи: а) вставляет эти данные повторно; б) после этого отменяет транзакцию. Ну... пусть ему архитекторы судьи. Кэролин уже написала ему, мол, добавь тестов. Окей, окей. Смешно. Но он сказал, что вставлять в код пока этого не будет.

Ха, код. Майкл пишет, мол, вставили твой код в релиз - а там тесты не идут. Ну ребята. Они апдейтнули тест, но не апдейтнули код. Объяснять сложно, как же так - тест свежий, а на старом коде он рушится. Плохой код. Плохой тест. Ну, правда, Майкл как-то догадался "починить" мой код - смержив свежую версию класса Clock.

Я свою Retry уже навалял, тесты прошли; теперь добавлю юзкейс, а потом уже буду усложнять. Надо будет усложнять, конечно. Потому что на самом деле в нашем языке программирования delay нету, и вообще ничего похожего нету, типа таймера или чо. Есть cron job. Ну и вот. Посмотрим.

А, ну и под конец дня послал Браяну пофиксеный пиар, и ему же с Каролин пиар, где я мой Retry использую для расшивки race condition. Нормально.

Profile

kdanilov: Кирша Данилов (Default)
kdanilov

November 2022

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728 2930   

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 17th, 2025 04:52 pm
Powered by Dreamwidth Studios