HsxWorkFlow 内置 Redis 操作封装,提供缓存、队列、计数等功能。
概览
RedisHandler
RedisHandler 是 Redis 操作的封装类。
获取 Redis 处理器
from hsxworkflow.Utils.redis_handler import get_redis_handler
rdb = get_redis_handler()
HsxWorkFlow 内置 Redis 操作封装,提供缓存、队列、计数等功能。
RedisHandler 是 Redis 操作的封装类。
from hsxworkflow.Utils.redis_handler import get_redis_handler
rdb = get_redis_handler()
HsxWorkFlow 提供了基于 FastAPI + Socket.IO 的 Web 管理界面,支持 RESTful API 和 WebSocket 实时通信。本文档详细介绍 Web 管理界面的使用方法。
from hsxworkflow import WorkflowManager, WorkRegisterHandler
wf = WorkRegisterHandler(step_key="demo")
@wf.register_class()
class DemoWorkFlow(StepActionHandler):
@wf.step(sort=1)
def hello(self):
return self.set_success()
manager = WorkflowManager()
manager.register_object(wf)
manager.run_app() # 访问 http://localhost:5050
HsxWorkFlow 基于 APScheduler 提供强大的定时调度功能,支持 Cron 表达式、间隔执行和一次性任务。
WorkflowScheduler 是工作流调度器的核心类,封装了 APScheduler 的功能。
from hsxworkflow import WorkflowManager
from hsxworkflow.scheduler import WorkflowScheduler
manager = WorkflowManager()
manager.register_object(wf)
scheduler = WorkflowScheduler(manager)
本文档将带你快速上手 HsxWorkFlow 框架,从环境准备到第一个工作流的运行。
HsxWorkFlow 支持五种执行模式,满足不同场景的需求。本文档详细介绍每种执行模式的使用方法和适用场景。
| 模式 | 描述 | 使用场景 |
|---|---|---|
single |
单次执行 | 一次性任务、简单流程 |
traversal |
遍历执行 | 批量处理数据集合 |
indefinitely |
无限循环 | 持续监控任务 |
queue |
队列模式 | 基于队列的任务执行 |
custom |
自定义模式 | 完全控制执行流程 |
本文档详细介绍 HsxWorkFlow 的系统整体架构设计、分层架构和模块关系。
HsxWorkFlow 采用分层架构设计,从上到下分为客户端层、Web 服务层、管理层、执行引擎层、注册层、集成层和工具层。
职责: 提供用户交互界面和客户端工具。
组件:
本文档总结了 HsxWorkFlow 的开发建议和常见问题的解决方案。
# ✅ 合理使用重试(外部 API 调用)
@wf.step(sort=1, retry=3, retry_interval=2)
def call_external_api(self):
result = requests.get("https://api.example.com")
if result.ok:
return self.set_success(data=result.json())
return self.set_failure(message="API 调用失败")
# ❌ 不合理使用重试(逻辑错误)
@wf.step(sort=1, retry=3, retry_interval=2)
def validate_input(self):
if not self.is_valid():
return self.set_failure(message="输入无效")
return self.set_success()
HsxWorkFlow 的核心引擎由 Code 模块提供,包含 StepActionHandler、WorkFlowHandler 和 WorkRegisterHandler 三个核心组件。本文档详细介绍这些组件的实现原理。
src/hsxworkflow/Code/
├── StepAction.py # 步骤执行处理器(基类)
├── StepActionUtils.py # 状态枚举、结果封装、线程控制
├── WorkFlowHandler.py # 执行模式实现
└── WorkRegister.py # 装饰器注册系统
本文档介绍 HsxWorkFlow 框架的核心概念,包括 WorkRegisterHandler、StepActionHandler 和 WorkflowManager 三个核心组件。
HsxWorkFlow 的核心架构由三个主要组件构成:
HsxWorkFlow 集成 DrissionPage 实现浏览器自动化操作,支持 Chromium 的页面操作、数据抓取等功能。
DriverClient 是 DrissionPage 的客户端封装类。
from hsxworkflow.DP.DPClient import DriverClient
driver = DriverClient()