[О блоге] [наверх] [пред] [2019-01-13 21:07:49+03:00] [466fc350ff8b4e33c8084caaad3832427c3d3021]

Доработал cheeseshop до состояния проксирования пакетов

https://git.stargrave.org/cgit.cgi/cheeseshop.git/
На работе нам нужно для Python два сервера внутренних: кэширующий сервер
для пакетов, PyPI-совместимый по API сервер куда можно загружать
внутренние пакеты. Мы используем pyshop, который объединяет это всё в
одном пакете. Но с ним много проблем и он давно не обновляется.

К сожалению, есть два варианта из того что могу найти: либо серверы куда
только можно загружать, но не проксировать пакеты с кэшированием, либо
тяжеловесные системы с полноценными СУБД, системами кэширования и
задачами по обновлению пакетов по расписанию.

Но я наткнулся на cheeseshop написанный на Go: https://github.com/c4s4/cheeseshop
Он позволяет только загружать на него пакеты, без какого-либо
проксирования. Кода безумно мало. Решил попробовать добавить в него это
проксирование с кэшированием. Ровно два часа с момента как я сделал git
clone и до момента когда я могу загружать с него пакеты автоматически
загруженные с PyPI и сохранённые на диск. А через полчаса я ещё добавил
и проверку SHA256 целостности, и атомарное сохранение на жёстком диске
(через временный файл с переименованием). Ужас сколько времени я пишу на
Python, но так быстро я бы ничего на нём не сделал. А тут написал
полтора экрана кода (!) и он с первого раза заработал!

    [оставить комментарий]