Skip to main content

完全独立的任务管理包 - 基于新包架构,无旧包依赖

Project description

TaskManager-HJY

🚀 完全独立的任务管理包 - 基于新包架构,无旧包依赖

版本: 0.4.0
作者: hjy

📋 简介

TaskManager-HJY 是一个完全独立的任务管理包,基于新的包架构设计,不依赖任何旧包(如 ai_runner_hjykeymaster_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!

📞 支持

如有问题,请通过以下方式联系:


注意: 此版本完全独立,不依赖任何旧包,确保与现有系统的兼容性。

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

taskmanager-hjy-0.4.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

taskmanager_hjy-0.4.1-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

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

Hashes for taskmanager-hjy-0.4.1.tar.gz
Algorithm Hash digest
SHA256 ca17b7f0d9324366b72029bc708b1b903b10cb7b9ab58c61007dd0111befdd97
MD5 4d32514e6ed1712f24c74fdc4d693d62
BLAKE2b-256 f97d14717b44b929b8914780aa7041c680ad674a57fdb0562a647bdbb699a079

See more details on using hashes here.

File details

Details for the file taskmanager_hjy-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for taskmanager_hjy-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5adb85e342edf1d847b9dd3fd145ef13ab193c2556931c04939922c70f3cd09
MD5 bd6fdd3b7d1b31cecc2c636cb74356c5
BLAKE2b-256 c9e5a300e8b8f5edfdce75b36e84d50040141c977f8111262e4a9d4062531388

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page