Spaces:
Configuration error
Configuration error
| import asyncio | |
| from threading import Thread | |
| from redis.asyncio import Redis as AsyncRedis | |
| from inference.core.env import REDIS_HOST, REDIS_PORT | |
| from inference.core.interfaces.http.http_api import HttpInterface | |
| from inference.core.registries.roboflow import RoboflowModelRegistry | |
| from inference.enterprise.parallel.dispatch_manager import ( | |
| DispatchModelManager, | |
| ResultsChecker, | |
| ) | |
| from inference.models.utils import ROBOFLOW_MODEL_TYPES | |
| class ParallelHttpInterface(HttpInterface): | |
| def __init__(self, model_manager: DispatchModelManager, root_path: str = None): | |
| super().__init__(model_manager, root_path) | |
| async def app_startup(): | |
| model_registry = RoboflowModelRegistry(ROBOFLOW_MODEL_TYPES) | |
| checker = ResultsChecker(AsyncRedis(host=REDIS_HOST, port=REDIS_PORT)) | |
| self.model_manager = DispatchModelManager(model_registry, checker) | |
| self.model_manager.init_pingback() | |
| task = asyncio.create_task(self.model_manager.checker.loop()) | |
| # keep checker loop reference so it doesn't get gc'd | |
| self.checker_loop = task | |