Skip to content
Snippets Groups Projects
Commit 9213be7a authored by Podosochnyy Maxim's avatar Podosochnyy Maxim
Browse files

Реализация ExtensionService с учётом long polling операций

parent a03ccb32
No related branches found
No related tags found
1 merge request!61Реализация ExtensionService с учётом long polling операций
......@@ -26,33 +26,38 @@ async def _main(
'x-perxis-access', 'system'
)
@aiocron.crontab('* * * * *', start=False)
async def register_extension():
async def _register_extension():
await ext_manager_stub.RegisterExtensions(manager_service_pb2.RegisterExtensionsRequest(
extensions=[ext_descriptor]
))
logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis")
@aiocron.crontab('* * * * *', start=False)
async def register_extension():
await _register_extension()
async with grpc.aio.insecure_channel(ext_manager_host, interceptors=[interceptor]) as extensions_manager_channel:
ext_manager_stub = manager_service_pb2_grpc.ExtensionManagerServiceStub(extensions_manager_channel)
#registered_extensions: manager_service_pb2.ListExtensionsResponse = await ext_manager_stub.ListExtensions(
# manager_service_pb2.ListExtensionsRequest()
#)
# todo enable after fix - https://tracker.yandex.ru/PRXS-1507
# for ext in registered_extensions.extensions:
# if ext.extension == ext_descriptor.extension:
# if ext.version != ext_descriptor.version:
# ext_manager_stub.UnregisterExtensions(
# manager_pb2.UnregisterExtensionsRequest(
# extensions=[ext_descriptor]
# )
# )
#
# logger.info(
# f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} -> {ext_descriptor.version})"
# )
registered_extensions: manager_service_pb2.ListRegisteredExtensionsResponse = await ext_manager_stub.ListRegisteredExtensions(
manager_service_pb2.ListRegisteredExtensionsRequest()
)
for ext in registered_extensions.extensions:
if ext.extension == ext_descriptor.extension:
if ext.version != ext_descriptor.version:
await ext_manager_stub.UnregisterExtensions(
manager_service_pb2.UnregisterExtensionsRequest(
extensions=[ext_descriptor]
)
)
await _register_extension()
logger.info(
f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} "
f"-> {ext_descriptor.version})"
)
register_extension.start()
......
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