@gkozyrev

Python. Одни и те же модули в нескольких микросервисах?

Нужен совет!
Есть большая библиотека, представляющая собой сложное дерево из директорий с различными модулями на Python.
Все эти модули используются одновременно в нескольких (7) микросервисах и после изменения одного файла приходится менять его везде вручную. Не успеваю за всем следить, из этого вытекают всякие глупые баги.

Как можно реализовать централизованное изменение файлов этой библиоткеи?
Думал про pip - пакет, но, сожалению, с ним раньше не сталкивался и не могу разобраться как реализовать это с таким объемным деревом. Ну, и, буду очень благодарен за помощь со сборкой pip-пакета, если это возможно, конечно)

Дерево:

├── api
│   ├── __init__.py
│   ├── engine
│   │   ├── __init__.py
│   │   ├── botray
│   │   │   ├── __init__.py
│   │   │   ├── botray_pb2.py
│   │   │   ├── botray_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── botray.proto
│   │   ├── databases
│   │   │   ├── __init__.py
│   │   │   ├── databases_pb2.py
│   │   │   ├── databases_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── databases.proto
│   │   └── user
│   │       ├── __init__.py
│   │       ├── proto
│   │       │   └── user.proto
│   │       ├── user_pb2.py
│   │       └── user_pb2_grpc.py
│   ├── network
│   │   ├── __init__.py
│   │   ├── addressing
│   │   │   ├── __init__.py
│   │   │   ├── addressing_pb2.py
│   │   │   ├── addressing_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── addressing.proto
│   │   └── reverse_proxy_manager
│   │       ├── __init__.py
│   │       ├── networking_pb2.py
│   │       ├── networking_pb2_grpc.py
│   │       └── proto
│   │           ├── __init__.py
│   │           └── networking.proto
│   ├── platform
│   │   ├── __init__.py
│   │   ├── botray
│   │   │   ├── __init__.py
│   │   │   ├── botray_pb2.py
│   │   │   ├── botray_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── botray.proto
│   │   ├── databases
│   │   │   ├── __init__.py
│   │   │   ├── databases_pb2.py
│   │   │   ├── databases_pb2_grpc.py
│   │   │   └── proto
│   │   │       └── databases.proto
│   │   └── payments
│   │       ├── __init__.py
│   │       ├── payments_pb2.py
│   │       ├── payments_pb2_grpc.py
│   │       └── proto
│   │           └── payments.proto
│   └── user
│       ├── __init__.py
│       ├── account
│       │   ├── __init__.py
│       │   ├── proto
│       │   │   ├── user.proto
│       │   │   └── user.swagger.json
│       │   ├── user_pb2.py
│       │   └── user_pb2_grpc.py
│       ├── auth
│       │   ├── __init__.py
│       │   ├── auth_pb2.py
│       │   ├── auth_pb2_grpc.py
│       │   └── proto
│       │       ├── auth.pb.go
│       │       ├── auth.proto
│       │       ├── auth.swagger.json
│       │       └── swagger.serverinfo.json
│       ├── deposit
│       │   ├── __init__.py
│       │   ├── deposit_pb2.py
│       │   ├── deposit_pb2_grpc.py
│       │   └── proto
│       │       ├── deposit.proto
│       │       └── deposit.swagger.json
│       └── notificator
│           ├── __init__.py
│           ├── notificator_pb2.py
│           ├── notificator_pb2_grpc.py
│           └── proto
│               └── notificator.proto
├── requirements.txt
├── setup.py
└── test
    ├── client.py
    ├── clientP.py
    └── mailer_client.py


Заранее спасибо)
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
Recosh
@Recosh
Программист студент
Конечно кустарный метод, но я просто поднял Nginx веб сервер, а в python модуль инициализации при запуске обращается к серверу на предмет обновлений и выкачивает все файлы. Наверняка так же можно формировать пакет pip со скачиванием по ссылке из nginx
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы