Sep 07, 2020 22:42
Серьезно, вот раньше бы я просто посыпал голову пеплом.
Итак, начну издалека. В своё время была написана на Пайтоне довольно мудрёная модульная система каталогизации коллекций. Отдельно - веб-морда (тоже на Пайтоне), отдельно - сервис для индексации коллекции на конкретном хосте (можно индексировать не только съемные носители, но и локальные диски, в том числе и удалённо). Ну и совсем отдельно - сами скрипты, которые просто заходят в нужную папочку и всё-всё там индексируют (согласно типу коллекции). То есть система масштабируется простым добавлением нового типа коллекции и реализацией её индексатора.
Но возникла ма-а-аленькая проблемка: в какой-то момент одна из коллекций на одном из носителей перестала индексироваться. Процесс (инициированный веб-сервером, запущенный из локального сервиса) где-то бухается и молча прерывает обновление данных. Что делать?
Если бы на моём месте был бы я пятилетней давности, то начал бы вставлять отладочные печати и городить аналогичную ерунду. Но на то мы и профессионалы - обернул подозрительные методы декоратором pysnooper и в два счёта нашел проблемный кусок кода, вызвавший exception.
Следующий этап: победив Пайтон, пытаюсь занести информацию в SVN, а не тут-то было - получаю какие-то странные сообщения, что путь к репозиторию не найден. Потыкался, сравнил путь - действительно, при переезде на новый лептоп облачное хранилище оказалось в другой папке. Но и мы не пальцем деланные - запускаю svn relocate с путём новой папки и ... svn commit работает! Облачный репозиторий принял мои изменения без проблем. Диффы правда лучше выглядят через TortoiseSVN - всё-таки GUI он и есть GUI.
I like my job :)
дыбр,
программирование