Python人马兽系列是开源工具集,含自动化脚本编排(声明式DAG、trace_id日志)、跨平台任务调度(DaemonScheduler、三态status)、轻量级数据管道(PipeLine、批次中断不回滚)。

Python人马兽系列是一个基于Python开发的开源工具集,其命名借用了“人马兽”象征人机协同、多能力融合的意象,聚焦于自动化脚本编排、跨平台任务调度与轻量级数据管道构建。以下是该系列的主要功能模块与对应的应用场景说明:
本文运行环境:MacBook Air,macOS Sequoia。
一、自动化脚本编排
该功能通过声明式配置与函数式组合,将多个独立脚本串联为可复用、可追踪的执行流,适用于重复性高、触发条件明确的日常运维任务。
1、定义任务节点:使用@task装饰器标记Python函数,标注输入参数类型与输出结构。
立即学习“Python免费学习笔记(深入)”;
2、构建DAG流程:通过TaskGraph类注册节点依赖关系,例如“数据清洗 → 特征提取 → 模型验证”链式顺序。
3、触发执行:调用run()方法后,系统自动校验依赖完整性,并以拓扑序启动各节点。
4、查看执行日志:运行时生成唯一trace_id,所有子任务日志自动聚合至./logs/trace_{id}.json,其中每个节点的输入参数与返回值均被序列化记录。
二、跨平台任务调度
支持在Linux、macOS及Windows环境下统一调度Python任务,不依赖外部服务(如Airflow或Celery),仅需内置的轻量级调度器DaemonScheduler。
1、编写schedule.yaml:在项目根目录下创建配置文件,指定任务路径、触发周期(支持cron格式)与目标平台标签。
2、启动守护进程:执行python -m renmashou.scheduler --daemon start,进程自动驻留后台并监听配置变更。
3、平台适配加载:调度器启动时检测当前OS类型,仅加载platform: macos或platform: windows标记的任务项。
4、状态同步机制:每次任务完成,将结果摘要写入本地SQLite数据库scheduler.db,其中status字段严格限定为success、failed、skipped三态之一。
三、轻量级数据管道构建
提供PipeLine类与预置Connector(如CSVConnector、JSONConnector、SQLiteConnector),用于快速搭建端到端的数据流转链路,避免引入重型ETL框架。
1、初始化管道:实例化PipeLine对象,传入source_connector与sink_connector实例。
2、添加处理层:调用add_transform()方法注入纯函数,例如lambda row: {**row, 'processed_at': datetime.now()}。
3、设置批处理参数:通过batch_size=1000与max_retries=2控制吞吐与容错行为。
4、执行传输:调用execute()后,数据逐批次拉取、转换、提交,过程中任意批次失败将中断后续批次,但已成功提交批次不可回滚。











