feat(aibox): add CLI once mode (--once/--quiet/--once-timeout)
- parse_args 新增 --once/--quiet/--once-timeout 参数 - 新增 handle_once_mode:stdout chunk 流式、stderr 过程行、SIGINT 三层取消、超时 Timer - 退出码:0 成功 / 2 API 失败 / 3 中断 / 4 超时;与 WebSocket 零回归 - 配套开发文档:docs/reports/aibox_cli_once_mode_dev_doc.md - 附带修复:memdb/test_memdb.py 并发测试硬编码端口
This commit is contained in:
1 parent
2b133f1531
commit
ce3fb7fc74
3 files changed
+436
-7
No files matched your search
+3
-3
@@ -206,13 +206,13 @@ def test_missing_params(c, cnt):
|
||||
cnt.check(not ok, "get missing 'key' returns error", f"got {data}")
|
||||
|
||||
|
||||
def test_concurrent(c, cnt):
|
||||
def test_concurrent(c, cnt, host="127.0.0.1", port=8011):
|
||||
"""并发 set/get:验证 mutex 保护不崩溃"""
|
||||
errors = []
|
||||
results = []
|
||||
|
||||
def worker(worker_id):
|
||||
client = MemdbClient()
|
||||
client = MemdbClient(host, port)
|
||||
for i in range(20):
|
||||
key = f"concurrent:w{worker_id}:k{i}"
|
||||
ok, _ = client.call("set", key=key, value=str(worker_id))
|
||||
@@ -266,7 +266,7 @@ def main():
|
||||
test_show(c, cnt)
|
||||
test_expire(c, cnt)
|
||||
test_missing_params(c, cnt)
|
||||
test_concurrent(c, cnt)
|
||||
test_concurrent(c, cnt, host, port)
|
||||
|
||||
return 0 if cnt.summary() else 1
|
||||
|
||||
|
||||
Reference in new issue
Block a user