Service factory for DVGroup
Project description
#Состав библиотеки
- Класс Factory для получения экземпляров сервисов без указания путей к сервисам и секретов. Для работы нужно сконфигурировать переменные окружения VAULT_URL и VAULT_TOKEN, или явно передать url и token при создании экземпляра класса). Далее секреты автоматически достаются из vault, пути из consul
- Декоратор @log(logger=you_logger)
- Декоратор @retry(count=10, sleep=0.5)
Установка
from dvgroup_factory import factory
##Порядок работы:
- Получить объект фабрики: fc = factory.Factory(vault_url=url, vault_token=token)
- Получить объект сервиса (в kwargs передаются параметры не связанные с url и secrets):
- ch_client = fc.clickhouse_client(secure=True, database="db1", verify=False)
- kafka_p = fc.kafka_producer(value_serializer=lambda v: json.dumps(v).encode('utf-8')ssl_cafile="cafile")
- По умолчанию, если ранее уже был создан объект сервиса, то при следующем запросе, будет возвращен ранее созданный.
- Для получения нового объекта (если ранее уже был получен экземпляр), требуется переддать параметр new=True:
- kafka_p2 = fc.kafka_producer(value_serializer=lambda v: json.dumps(v).encode('utf-8'), ssl_cafile="cafile"), new=True)
- Для понимания, какие методы (классы сервисов) реализованы, следует вызвать метод info(), который возвратит след.информацию:
Создание экземпляра:
ins = Factory(vault_url=url, vault_token=token)
Методы:
1 ins.vault_client(url: str, token: str)
2 ins.consul(**kwargs)
3 ins.kafka_producer(**kwargs)
4 ins.kafka_consumer(**kwargs)
5 ins.clickhouse_client(**kwargs)
6 ins.azure_container_client(**kwargs)
7 ins.loki_handler(**kwargs)
Для создания нового экземпляра укажите в kwargs: new=True
Пути настроек в consul:
{"clickhouse": "env/databases/clickhouse", "kafka": "env/databases/kafka", "ms-azure-se": "env/databases/ms-azure-se", "loki": "env/databases/loki"}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dvgroup_factory-0.0.2.tar.gz
(5.6 kB
view hashes)
Built Distribution
Close
Hashes for dvgroup_factory-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5edacbacf13afe12b415169a11337a28d75ef924dafac13f3413d4b775d01cc |
|
MD5 | 873fac0c062876a67e3d55cd701532fa |
|
BLAKE2b-256 | 72404cff06da48ced16721ded142500eb26cdf652f8948e5fe07a0316a987cb0 |