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

Merge branch 'master' into 'feature/AUTO-1518_view-collections'

# Conflicts:
#   setup.py
parents 4104f988 678edbcd
No related branches found
No related tags found
1 merge request!52added check of view collections
import asyncio
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,7 +24,17 @@ def bootstrap( ...@@ -22,7 +24,17 @@ def bootstrap(
interceptor = header_adder_interceptor( interceptor = header_adder_interceptor(
'x-perxis-access', 'system' 'x-perxis-access', 'system'
) )
with grpc.insecure_channel(ext_manager_host) as extensions_manager_channel:
loop = asyncio.get_event_loop()
@aiocron.crontab('* * * * *', start=False)
def register_extension():
ext_manager_stub.RegisterExtensions(manager_pb2.RegisterExtensionsRequest(
extensions=[ext_descriptor]
))
logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis")
with grpc.aio.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)
ext_manager_stub = manager_pb2_grpc.ExtensionManagerStub(intercept_channel_extensions_manager_channel) ext_manager_stub = manager_pb2_grpc.ExtensionManagerStub(intercept_channel_extensions_manager_channel)
...@@ -43,13 +55,9 @@ def bootstrap( ...@@ -43,13 +55,9 @@ 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.start()
extensions=[ext_descriptor]
))
logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis") with grpc.aio.insecure_channel(content_host) as content_channel:
with grpc.insecure_channel(content_host) as content_channel:
intercepted_content_channel = grpc.intercept_channel(content_channel, interceptor) intercepted_content_channel = grpc.intercept_channel(content_channel, interceptor)
collections_stub = collections_pb2_grpc.CollectionsStub(intercepted_content_channel) collections_stub = collections_pb2_grpc.CollectionsStub(intercepted_content_channel)
...@@ -57,12 +65,21 @@ def bootstrap( ...@@ -57,12 +65,21 @@ def bootstrap(
clients_stub = clients_pb2_grpc.ClientsStub(intercepted_content_channel) clients_stub = clients_pb2_grpc.ClientsStub(intercepted_content_channel)
environments_stub = environments_pb2_grpc.EnvironmentsStub(intercepted_content_channel) environments_stub = environments_pb2_grpc.EnvironmentsStub(intercepted_content_channel)
server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) server = grpc.aio.server(futures.ThreadPoolExecutor(max_workers=10))
extension_pb2_grpc.add_ExtensionServicer_to_server( loop.create_task(
servicer_cls( extension_pb2_grpc.add_ExtensionServicer_to_server(
collections_stub, environments_stub, roles_stub, clients_stub servicer_cls(
), server collections_stub, environments_stub, roles_stub, clients_stub
), server
)
) )
server.add_insecure_port("[::]:50051") server.add_insecure_port("[::]:50051")
server.start() loop.create_task(server.start())
server.wait_for_termination() loop.create_task(server.wait_for_termination())
try:
loop.run_forever()
finally:
loop.close()
loop.stop()
logging.info('Successfully shutdown service')
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.2', version='1.0.6',
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