[О блоге]
[наверх]
[пред]
[2019-01-13 21:07:49+03:00]
[466fc350ff8b4e33c8084caaad3832427c3d3021]
Темы: [python]
Доработал 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, но так быстро я бы ничего на нём не сделал. А тут написал
полтора экрана кода (!) и он с первого раза заработал!
[оставить комментарий]