From 28512009c9444ed07ca1cb0911e008d2ad224be1 Mon Sep 17 00:00:00 2001 From: Georgiy Eterevskiy <goshik_e@mail.ru> Date: Tue, 12 Sep 2023 17:12:00 +0300 Subject: [PATCH] Add extension registration periodic --- perxis/extensions/bootstrap.py | 13 +++++++++---- requirements.txt | 1 + setup.py | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/perxis/extensions/bootstrap.py b/perxis/extensions/bootstrap.py index 64c3569..8aa60db 100644 --- a/perxis/extensions/bootstrap.py +++ b/perxis/extensions/bootstrap.py @@ -1,8 +1,8 @@ +import aiocron import grpc import logging from concurrent import futures -from perxis.extensions import manager_pb2 from perxis.collections import collections_pb2_grpc from perxis.environments import environments_pb2_grpc from perxis.roles import roles_pb2_grpc @@ -22,6 +22,13 @@ def bootstrap( interceptor = header_adder_interceptor( 'x-perxis-access', 'system' ) + + @aiocron.crontab('* * * * *', start=False) + def register_extension(): + ext_manager_stub.RegisterExtensions(manager_pb2.RegisterExtensionsRequest( + extensions=[ext_descriptor] + )) + with grpc.insecure_channel(ext_manager_host) as extensions_manager_channel: intercept_channel_extensions_manager_channel = grpc.intercept_channel(extensions_manager_channel, interceptor) @@ -43,9 +50,7 @@ def bootstrap( # f"Рзменилась версия расширения {ext_descriptor.extension} ({ext.version} -> {ext_descriptor.version})" # ) - ext_manager_stub.RegisterExtensions(manager_pb2.RegisterExtensionsRequest( - extensions=[ext_descriptor] - )) + register_extension() logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано РІ perxis") diff --git a/requirements.txt b/requirements.txt index 266a39a..741861e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +aiocron==1.8 certifi==2023.7.22 chardet==5.2.0 charset-normalizer==3.2.0 diff --git a/setup.py b/setup.py index f3b199e..9a53f23 100644 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ def load_requirements(): setup( name='perxis', - version='1.0.1', + version='1.0.2', description='Perxis python client', long_description=long_description, long_description_content_type='text/markdown', -- GitLab