Skip to content
Snippets Groups Projects

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

3 unresolved threads
1 file
+ 24
19
Compare changes
  • Side-by-side
  • Inline
@@ -26,33 +26,38 @@ async def _main(
@@ -26,33 +26,38 @@ async def _main(
'x-perxis-access', 'system'
'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(
await ext_manager_stub.RegisterExtensions(manager_service_pb2.RegisterExtensionsRequest(
extensions=[ext_descriptor]
extensions=[ext_descriptor]
))
))
logger.info(f"Расширение {ext_descriptor.extension} зарегистрировано в perxis")
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:
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)
ext_manager_stub = manager_service_pb2_grpc.ExtensionManagerServiceStub(extensions_manager_channel)
#registered_extensions: manager_service_pb2.ListExtensionsResponse = await ext_manager_stub.ListExtensions(
registered_extensions: manager_service_pb2.ListRegisteredExtensionsResponse = await ext_manager_stub.ListRegisteredExtensions(
# manager_service_pb2.ListExtensionsRequest()
manager_service_pb2.ListRegisteredExtensionsRequest()
#)
)
# todo enable after fix - https://tracker.yandex.ru/PRXS-1507
for ext in registered_extensions.extensions:
# for ext in registered_extensions.extensions:
if ext.extension == ext_descriptor.extension:
# if ext.extension == ext_descriptor.extension:
if ext.version != ext_descriptor.version:
# if ext.version != ext_descriptor.version:
await ext_manager_stub.UnregisterExtensions(
# ext_manager_stub.UnregisterExtensions(
manager_service_pb2.UnregisterExtensionsRequest(
# manager_pb2.UnregisterExtensionsRequest(
extensions=[ext_descriptor]
# extensions=[ext_descriptor]
)
# )
)
# )
#
await _register_extension()
# logger.info(
# f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} -> {ext_descriptor.version})"
logger.info(
# )
f"Изменилась версия расширения {ext_descriptor.extension} ({ext.version} "
 
f"-> {ext_descriptor.version})"
 
)
register_extension.start()
register_extension.start()
Loading