完全独立的任务管理包 - 基于新包架构,无旧包依赖
Project description
TaskManager-HJY
🚀 完全独立的任务管理包 - 基于新包架构,无旧包依赖
版本: 0.4.0
作者: hjy
📋 简介
TaskManager-HJY 是一个完全独立的任务管理包,基于新的包架构设计,不依赖任何旧包(如 ai_runner_hjy 或 keymaster_hjy)。该包提供了完整的任务创建、执行、监控和管理功能。
✨ 特性
- 🆕 完全独立: 不依赖任何旧包,基于新包架构
- 🚀 异步支持: 支持异步任务执行
- 📊 任务监控: 实时任务状态和进度跟踪
- 🎯 多种任务类型: 支持音频分析、数据处理、AI推理等
- 🔧 灵活配置: 支持任务优先级和自定义参数
- 📈 统计功能: 提供详细的任务统计信息
- 🛠️ CLI工具: 内置命令行工具,方便使用
📦 安装
pip install taskmanager-hjy==0.4.0
🔧 依赖
pydantic>=2.0.0- 数据验证loguru>=0.7.0- 日志记录redis>=4.5.0- 缓存支持rq>=1.15.0- 任务队列pyyaml>=6.0- 配置文件支持typing-extensions>=4.0.0- 类型提示扩展
新包依赖(可选)
configmanager-hjy>=0.3.0- 配置管理datamanager-hjy>=0.3.0- 数据管理aimanager-hjy>=0.3.0- AI管理keymanager-hjy>=0.3.0- 密钥管理
🚀 快速开始
基本使用
import asyncio
from taskmanager_hjy import TaskManager, TaskType, TaskPriority
# 创建任务管理器
manager = TaskManager()
# 创建任务
task = manager.create_task(
name="音频分析任务",
task_type=TaskType.AUDIO_ANALYSIS,
parameters={"file_path": "/path/to/audio.wav"},
priority=TaskPriority.HIGH
)
# 执行任务
async def main():
success = await manager.execute_task(task.id)
if success:
print("任务执行成功!")
# 获取任务信息
task_info = manager.get_task(task.id)
print(f"任务状态: {task_info.status}")
print(f"任务结果: {task_info.result}")
asyncio.run(main())
便捷函数使用
import asyncio
from taskmanager_hjy import create_task, execute_task, get_task, list_tasks
# 创建任务
task = create_task("数据处理任务", TaskType.DATA_PROCESSING)
# 执行任务
async def main():
await execute_task(task.id)
# 列出所有任务
all_tasks = list_tasks()
print(f"总任务数: {len(all_tasks)}")
# 列出待执行任务
pending_tasks = list_tasks(status=TaskStatus.PENDING)
print(f"待执行任务数: {len(pending_tasks)}")
asyncio.run(main())
🛠️ 命令行工具
TaskManager-HJY 提供了完整的命令行工具:
# 创建任务
python -m taskmanager_hjy create "测试任务" audio_analysis
# 列出任务
python -m taskmanager_hjy list pending
# 执行任务
python -m taskmanager_hjy execute task_20241201_12345678_abc12345
# 获取统计信息
python -m taskmanager_hjy stats
# 查看帮助
python -m taskmanager_hjy help
📊 任务类型
| 类型 | 描述 | 示例 |
|---|---|---|
AUDIO_ANALYSIS |
音频分析 | 语音识别、音频特征提取 |
DATA_PROCESSING |
数据处理 | 数据清洗、格式转换 |
AI_INFERENCE |
AI推理 | 模型预测、图像识别 |
SYSTEM_MAINTENANCE |
系统维护 | 日志清理、缓存更新 |
CUSTOM |
自定义任务 | 用户自定义逻辑 |
🎯 任务状态
| 状态 | 描述 |
|---|---|
PENDING |
待执行 |
RUNNING |
执行中 |
COMPLETED |
已完成 |
FAILED |
失败 |
CANCELLED |
已取消 |
🔝 任务优先级
| 优先级 | 描述 |
|---|---|
LOW |
低优先级 |
NORMAL |
普通优先级 |
HIGH |
高优先级 |
URGENT |
紧急优先级 |
📈 统计功能
from taskmanager_hjy import get_task_statistics
stats = get_task_statistics()
print(f"总任务数: {stats['total_tasks']}")
print(f"完成率: {stats['success_rate']:.2f}%")
print(f"运行中任务: {stats['running_tasks']}")
🔧 高级功能
任务取消
from taskmanager_hjy import cancel_task
success = cancel_task(task_id)
if success:
print("任务取消成功")
批量操作
from taskmanager_hjy import TaskManager, TaskStatus
manager = TaskManager()
# 批量创建任务
for i in range(5):
manager.create_task(f"批量任务 {i+1}", TaskType.DATA_PROCESSING)
# 批量执行待执行任务
pending_tasks = manager.list_tasks(status=TaskStatus.PENDING)
for task in pending_tasks:
await manager.execute_task(task.id)
🏗️ 架构设计
TaskManager-HJY 采用模块化设计:
taskmanager_hjy/
├── __init__.py # 包入口
├── core/
│ ├── models.py # 数据模型
│ ├── manager.py # 核心管理器
│ └── utils.py # 工具函数
└── cli.py # 命令行工具
🔄 版本历史
- 0.4.0 - 完全独立版本,移除所有旧包依赖
- 0.3.0 - 基础版本(已废弃)
📝 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📞 支持
如有问题,请通过以下方式联系:
- 提交 GitHub Issue
- 发送邮件至: hjy@example.com
注意: 此版本完全独立,不依赖任何旧包,确保与现有系统的兼容性。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file taskmanager-hjy-0.4.1.tar.gz.
File metadata
- Download URL: taskmanager-hjy-0.4.1.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca17b7f0d9324366b72029bc708b1b903b10cb7b9ab58c61007dd0111befdd97
|
|
| MD5 |
4d32514e6ed1712f24c74fdc4d693d62
|
|
| BLAKE2b-256 |
f97d14717b44b929b8914780aa7041c680ad674a57fdb0562a647bdbb699a079
|
File details
Details for the file taskmanager_hjy-0.4.1-py3-none-any.whl.
File metadata
- Download URL: taskmanager_hjy-0.4.1-py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5adb85e342edf1d847b9dd3fd145ef13ab193c2556931c04939922c70f3cd09
|
|
| MD5 |
bd6fdd3b7d1b31cecc2c636cb74356c5
|
|
| BLAKE2b-256 |
c9e5a300e8b8f5edfdce75b36e84d50040141c977f8111262e4a9d4062531388
|