资讯动态

Python/TypeScript CLI:退出码、标准输出和取消行为先约定

发布时间:2026/8/15 19:37:48 来源:尧图企业网站定制
Python/TypeScript CLI退出码、标准输出和取消行为先约定CLI 工具是否好用先看脚本能不能稳定判断它的结果。漂亮的进度条排在退出码、输出格式和错误上下文之后。接口契约参数解析失败与运行失败使用不同退出码机器可读结果写到 stdout诊断信息写到 stderr危险操作提供 dry-run 和显式确认。Python 与 TypeScript 版本共享同一份输入 Schema避免同名参数含义不同。批量命令可以用下面的异步并发骨架限制任务数。代码只是结构示意业务处理、超时和取消仍需由调用方实现import time import asyncio from typing import Dict, Any, Optional class ResilientEngine: def __init__(self, max_concurrency: int 100): self.semaphore asyncio.Semaphore(max_concurrency) self.stats {success: 0, failed: 0} async def execute_task(self, payload: Dict[str, Any]) - Dict[str, Any]: async with self.semaphore: try: start time.time() res await self._inner_process(payload) self.stats[success] 1 return {status: ok, latency_ms: (time.time() - start) * 1000, result: res} except Exception as err: self.stats[failed] 1 return {status: degraded, error: str(err)} async def _inner_process(self, payload: Dict[str, Any]) - Dict[str, Any]: await asyncio.sleep(0.01) return {topic: Python/TypeScript 工具开发与 CLI 工程实践, processed: True}从干净环境验证锁定运行时和依赖从空目录执行帮助、正常任务、缺少参数、无权限与中断。核对临时文件被清理部分完成时输出可恢复信息。CLI 的成功标准是能被人和脚本一致理解而不是一次演示里“看起来跑完了”。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价