- BaseTask.GetID
This commit is contained in:
@@ -25,6 +25,7 @@ type TaskList []ITask
|
||||
|
||||
type ITask interface {
|
||||
Run()
|
||||
GetID() string
|
||||
GetResult(duration time.Duration) (retVal []interface{}, err error)
|
||||
Cancel()
|
||||
GetTotalItemCount() int
|
||||
@@ -104,6 +105,10 @@ func (t *BaseTask) Init(parallelCount, batchSize int, isContinueWhenError bool,
|
||||
t.C = t.finishChan
|
||||
}
|
||||
|
||||
func (t *BaseTask) GetID() string {
|
||||
return t.ID
|
||||
}
|
||||
|
||||
func (t *BaseTask) GetResult(duration time.Duration) (retVal []interface{}, err error) {
|
||||
if t.GetStatus() >= TaskStatusEndBegin {
|
||||
return t.Result, t.Err
|
||||
|
||||
@@ -20,7 +20,7 @@ func init() {
|
||||
|
||||
func (m *TaskMan) RunTask(taskName string, isContinueWhenError bool, resultHandler ResultHandlerFunc, parallelCount, batchSize int, userName string, worker WorkFunc, itemList interface{}, params ...interface{}) *ParallelTask {
|
||||
task := RunTask(taskName, isContinueWhenError, resultHandler, parallelCount, batchSize, userName, worker, itemList, params...)
|
||||
m.taskList[task.ID] = task
|
||||
m.ManageTask(task)
|
||||
return task
|
||||
}
|
||||
|
||||
@@ -39,6 +39,11 @@ func (m *TaskMan) GetTasks(taskID string, fromStatus, toStatus int, lastHours in
|
||||
return taskList
|
||||
}
|
||||
|
||||
func (m *TaskMan) ManageTask(task ITask) ITask {
|
||||
m.taskList[task.GetID()] = task
|
||||
return task
|
||||
}
|
||||
|
||||
func RunManagedTask(taskName string, isContinueWhenError bool, resultHandler ResultHandlerFunc, parallelCount, batchSize int, userName string, worker WorkFunc, itemList interface{}, params ...interface{}) *ParallelTask {
|
||||
return defTaskMan.RunTask(taskName, isContinueWhenError, resultHandler, parallelCount, batchSize, userName, worker, itemList, params...)
|
||||
}
|
||||
@@ -46,3 +51,7 @@ func RunManagedTask(taskName string, isContinueWhenError bool, resultHandler Res
|
||||
func GetTasks(taskID string, fromStatus, toStatus int, lastHours int) (taskList TaskList) {
|
||||
return defTaskMan.GetTasks(taskID, fromStatus, toStatus, lastHours)
|
||||
}
|
||||
|
||||
func ManageTask(task ITask) ITask {
|
||||
return defTaskMan.ManageTask(task)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user