Skip to content
Snippets Groups Projects
Commit 28512009 authored by Georgiy Eterevskiy's avatar Georgiy Eterevskiy
Browse files

Add extension registration periodic

parent 843019b9
No related branches found
No related tags found
1 merge request!48Add extension registration periodic
import aiocron
import grpc import grpc
import logging import logging
from concurrent import futures from concurrent import futures
from perxis.extensions import manager_pb2
from perxis.collections import collections_pb2_grpc from perxis.collections import collections_pb2_grpc
from perxis.environments import environments_pb2_grpc from perxis.environments import environments_pb2_grpc
from perxis.roles import roles_pb2_grpc from perxis.roles import roles_pb2_grpc
...@@ -22,6 +22,13 @@ def bootstrap( ...@@ -22,6 +22,13 @@ def bootstrap(
interceptor = header_adder_interceptor( interceptor = header_adder_interceptor(
'x-perxis-access', 'system' '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: with grpc.insecure_channel(ext_manager_host) as extensions_manager_channel:
intercept_channel_extensions_manager_channel = grpc.intercept_channel(extensions_manager_channel, interceptor) intercept_channel_extensions_manager_channel = grpc.intercept_channel(extensions_manager_channel, interceptor)
...@@ -43,9 +50,7 @@ def bootstrap( ...@@ -43,9 +50,7 @@ def bootstrap(
# f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} -> {ext_descriptor.version})" # f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} -> {ext_descriptor.version})"
# ) # )
ext_manager_stub.RegisterExtensions(manager_pb2.RegisterExtensionsRequest( register_extension()
extensions=[ext_descriptor]
))
logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis") logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis")
......
aiocron==1.8
certifi==2023.7.22 certifi==2023.7.22
chardet==5.2.0 chardet==5.2.0
charset-normalizer==3.2.0 charset-normalizer==3.2.0
......
...@@ -14,7 +14,7 @@ def load_requirements(): ...@@ -14,7 +14,7 @@ def load_requirements():
setup( setup(
name='perxis', name='perxis',
version='1.0.1', version='1.0.2',
description='Perxis python client', description='Perxis python client',
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment