- refactor tasksch

- sequence task added.
- task tree added.
This commit is contained in:
gazebo
2018-10-20 09:22:36 +08:00
parent 3f94410904
commit 66ef068fc3
6 changed files with 191 additions and 83 deletions

View File

@@ -11,11 +11,11 @@ var (
)
type TaskMan struct {
taskList map[string]*Task
taskList map[string]ITask
}
func init() {
defTaskMan.taskList = make(map[string]*Task)
defTaskMan.taskList = make(map[string]ITask)
}
func (m *TaskMan) RunTask(taskName string, isContinueWhenError bool, resultHandler ResultHandlerFunc, parallelCount, batchSize int, userName string, worker WorkFunc, itemList interface{}, params ...interface{}) *Task {
@@ -24,13 +24,14 @@ func (m *TaskMan) RunTask(taskName string, isContinueWhenError bool, resultHandl
return task
}
func (m *TaskMan) GetTasks(taskID string, fromStatus, toStatus int, lastHours int) (taskList []*Task) {
func (m *TaskMan) GetTasks(taskID string, fromStatus, toStatus int, lastHours int) (taskList TaskList) {
if lastHours == 0 {
lastHours = defLastHours
}
lastTime := time.Now().Add(time.Duration(-lastHours) * time.Hour).Unix()
for k, v := range m.taskList {
if !((taskID != "" && taskID != k) || v.Status < fromStatus || v.Status > toStatus || v.CreatedAt.Unix() < lastTime) {
status := v.GetStatus()
if !((taskID != "" && taskID != k) || status < fromStatus || status > toStatus || v.GetCreatedAt().Unix() < lastTime) {
taskList = append(taskList, v)
}
}
@@ -42,6 +43,6 @@ func RunManagedTask(taskName string, isContinueWhenError bool, resultHandler Res
return defTaskMan.RunTask(taskName, isContinueWhenError, resultHandler, parallelCount, batchSize, userName, worker, itemList, params...)
}
func GetTasks(taskID string, fromStatus, toStatus int, lastHours int) (taskList []*Task) {
func GetTasks(taskID string, fromStatus, toStatus int, lastHours int) (taskList TaskList) {
return defTaskMan.GetTasks(taskID, fromStatus, toStatus, lastHours)
}