(self, ports, gpus, base_url, startup_delay=5)
| 15 | |
| 16 | class InstanceManager: |
| 17 | def __init__(self, ports, gpus, base_url, startup_delay=5): |
| 18 | self.ports = ports |
| 19 | self.gpus = gpus |
| 20 | self.base_url = base_url |
| 21 | self.instances = [] |
| 22 | self.lock = threading.Lock() |
| 23 | self.current_instance = 0 # 用于轮询策略 |
| 24 | |
| 25 | for port, gpu in zip(self.ports, self.gpus): |
| 26 | self.start_instance(gpu, port) |
| 27 | self.instances.append({"port": port, "load": 0}) |
| 28 | time.sleep(startup_delay) # 等待所有实例启动 |
| 29 | |
| 30 | def start_instance(self, num, port): |
| 31 | """启动ollama实例在特定GPU和端口上""" |
nothing calls this directly
no test coverage detected