fix: respect task page limits and recover stale capacity counts

This commit is contained in:
CoolBoy
2026-10-27 15:55:12 +08:00
parent e38d5cf823
commit 0ba4977e88
7 changed files with 154 additions and 17 deletions

View File

@@ -290,13 +290,16 @@ class ClientPoolConcurrencyTests(unittest.TestCase):
client = ModelHubClient(token="test-token")
calls: list[str] = []
def page(*, status: str, **_kwargs) -> dict: # noqa: ANN003
def page(*, status: str, current: int = 1, **_kwargs) -> dict: # noqa: ANN003
calls.append(status)
return {"data": {"total": {"waiting": 175, "running": 25}[status]}}
total = {"waiting": 175, "running": 25}[status]
return {"data": {"total": total, "records": [
{"taskId": f"{status}-{i}", "status": status}
for i in range((current - 1) * 100, min(current * 100, total))]}}
client.list_tasks_page = page # type: ignore[method-assign]
self.assertEqual(200, client.count_active_tasks_exact())
self.assertEqual(["waiting", "running"], calls)
self.assertEqual(["waiting", "waiting", "running"], calls)
@staticmethod
def monday_calibration_time(hour: int = 10) -> datetime: