feat: P1 补齐(自动评审队列、自动化+分诊、并发 caps、运行时审批队列)

This commit is contained in:
host committed 2026-10-27 15:53:50 +08:00
1 parent 29efc6c61f
commit e0cecd70aa
18 files changed
+3474 -27

No files matched your search

+6 -3
View File
@@ -240,12 +240,13 @@ class TaskExecutorFilterTestCase(unittest.TestCase):
def tearDown(self):
self.tmp.cleanup()
def _docker_worker(self):
def _docker_worker(self, capacity=None):
return Worker(
self.db_path, "host.py", config_path=None, repo=None,
executor=DockerExecutor(runner=lambda cmd: _result()),
env={"XCM_API_KEY": "test-placeholder"}, env_key=None,
task_timeout=1800, max_retries=0, retry_backoff_seconds=0)
task_timeout=1800, max_retries=0, retry_backoff_seconds=0,
capacity=capacity)
def test_claim_rejects_other_pool_task(self):
worker = self._docker_worker()
@@ -260,7 +261,9 @@ class TaskExecutorFilterTestCase(unittest.TestCase):
self.assertEqual(status, "queued")
def test_claim_accepts_unassigned_and_same_pool(self):
worker = self._docker_worker()
# 本测试连续认领两个任务, 测的是执行器过滤不是上限;
# caps 默认上限 1 会挡第二单, 故显式给 capacity=2。
worker = self._docker_worker(capacity=2)
self.assertTrue(worker._claim("t-none", executor="docker"))
self.assertTrue(worker._claim("t-docker", executor="docker"))