Skip to content

Task Scheduling Library

一个功能强大的Python任务调度库,支持异步和同步任务执行,提供强大的任务管理和监控功能(已支持NO GIL)

核心功能

!!!警告!!! (实验性功能)为测试功能,可能会出现异常和其他问题

  • 任务调度: 支持异步代码和同步代码,相同名称的任务自动排队执行
  • 任务管理: 强大的任务状态监控和管理能力
  • 灵活控制: 支持向执行代码发送(终止,暂停,恢复)命令
  • 超时处理: 可为任务启用超时检测,长时间运行的任务会被强制终止
  • 状态查询: 通过接口直接获取任务当前状态或者网页控制端
  • 智能休眠: 无任务时会自动休眠节省资源
  • 优先级管理: 在任务过多时高优先级的任务会优先运行
  • 结果获取: 可以获取任务返回的运行结果
  • 任务禁用管理: 可以在黑名单中添加任务名称,该名称的任务添加会被阻拦
  • 队列任务取消: 可以取消还在排队的同名称的所有任务
  • 线程级任务管理: 灵活的任务结构管理
  • 任务树模式管理: 当主任务结束,其他所有分支任务都会被销毁
  • 依赖型任务执行: 依赖于主任务返回结果运行的函数将启动并运行
  • 任务重试: 在对应的报错发生时重新尝试运行任务
  • 分布式管理(实验性功能): 可以使用客户端和服务端加中转服务器模式

未来的计划

  • 完善分布式逻辑,目前只能算是一个可以用的阶段
  • 英文说明,也许吧

安装方法

pip install --upgrade task_scheduling

感谢

https://github.com/glenfant/stopit 感谢这个库给予我了一个很巧妙地思维去处理任务控制相关的逻辑

为了便于后续修改我将它放在库内部,而不是通过 pip 安装的,所以这里明确说明并感谢