in rlmeta/core/server.py [0:0]
def _start_services(self) -> NoReturn:
self._loop = asyncio.get_event_loop()
self._tasks = []
for service in self._services:
for method in service.remote_methods:
method_impl = getattr(service, method)
batch_size = getattr(method_impl, "__batch_size__", None)
self._add_server_task(method, method_impl, batch_size)
try:
self._loop.run_forever()
except Exception as e:
logging.error(e)
raise
finally:
for task in self._tasks:
task.cancel()
self._loop.close()