github.com/songzhibin97/gkit@v1.2.13/distributed/backend/backend.go (about) 1 package backend 2 3 import "github.com/songzhibin97/gkit/distributed/task" 4 5 type Backend interface { 6 // GroupTakeOver 组接管任务详情 7 GroupTakeOver(groupID string, name string, taskIDs ...string) error 8 9 // GroupCompleted 组任务是否完成 10 GroupCompleted(groupID string) (bool, error) 11 12 // GroupTaskStatus 组任务状态 13 GroupTaskStatus(groupID string) ([]*task.Status, error) 14 15 // TriggerCompleted 任务全部完成后更改标记位 16 // TriggerCompleted 是并发安全的,保证只能成功更改一次 17 TriggerCompleted(groupID string) (bool, error) 18 19 // 设置任务状态 20 21 // SetStatePending 设置任务状态为等待 22 SetStatePending(signature *task.Signature) error 23 24 // SetStateReceived 设置任务状态为接受 25 SetStateReceived(signature *task.Signature) error 26 27 // SetStateStarted 设置任务状态为开始 28 SetStateStarted(signature *task.Signature) error 29 30 // SetStateRetry 设置任务状态为重试 31 SetStateRetry(signature *task.Signature) error 32 33 // SetStateSuccess 设置任务状态为成功 34 SetStateSuccess(signature *task.Signature, results []*task.Result) error 35 36 // SetStateFailure 设置任务状态为失败 37 SetStateFailure(signature *task.Signature, err string) error 38 39 // GetStatus 获取任务状态 40 GetStatus(taskID string) (*task.Status, error) 41 42 // ResetTask 重置任务状态 43 ResetTask(taskIDs ...string) error 44 45 // ResetGroup 重置组信息 46 ResetGroup(groupIDs ...string) error 47 48 // SetResultExpire 设置过期时间 49 // 在使用controller中接管时候统一设置 50 SetResultExpire(expire int64) 51 }