diff --git a/perxis/extensions/bootstrap.py b/perxis/extensions/bootstrap.py index 64c3569274a72a79ee154bfd1ef1d7f02efb74b5..8aa60db2593b3e37c48482d46c70562bae02e847 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 266a39a950f45fd87d952cb3abc9932c8d771d62..741861e832a5a65a427d28e7e194ac68ea169920 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 f3b199ee2c39fca13fc776907faa2526a3526adc..9a53f23287c93ef6d374a9a89e6dc46bbb331eba 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',