Skip to content

iwtbam/SmartTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartTask

项目起因

实验室的GPU服务器管理太混乱, 我写了个脚本检查GPU资源, 有资源的时候把自己的程序运行起来,简单来说就是一个循环定时任务, 于是乎,想把这个脚本拓展一下,造个简单的轮子。

项目目标

  1. 定时任务
  2. 任务运行状态的监听和管理
  3. 可以自定义任务和触发条件
  4. 可以多机分配任务

项目进度

  • 2021/01/16 完成单机下的基本结构
  • 2021/01/16 定时任务:用多层时间轮管理定时任务
  • 2021/01/18 定时任务:引入cron表达式定时触发任务
  • 2021/01/20 增加任务类型的处理
  • 2021/01/20 针对python类型做了型别约束工具, 替代property简化代码
  • 2021/01/21 为类型约束添加SelfType类型,解决类变量对自身类别的引用问题
  • 2021/01/21 增加任务执行回调, 监听任务过程或任务完成状态
  • 2021/01/22 cron 获取延时,因为时间轮的间隔大于真实时间延时,延时可能为0,对于时间轮来说,就延时了一个周期,目前当延时为0,将延时修改为1
  • 2021/01/22 对 TaskRunCondition run / check 调用和返回进行了修改,加入NoFit类表示不符合条件时的返回值
  • 2021/01/22 对于事件回调,增加了新的事件RUN_NO_FIT
  • 2021/01/22 修改了NIVDIAGPUMemoryLimit条件,并进行了测试
  • 2021/01/22 多定时任务情况,时间轮推动过程可能出现负时间
  • 2021/01/22 修复多定时任务负时间bug, 用固定时间间隔代替原先延时优先队列推动时间轮,对于大间隔定时任务,会出现较多空推进,适用小间隔的任务。
  • 2021/01/23 恢复优先队列推进,改进原先优先队列推进,采取的任务产生方式,修复原存bug

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages