Documentation ¶
Index ¶
- Constants
- Variables
- func Init()
- func Record(job Job) (*model.Task, error)
- func Resume(p Pool)
- func Send(classify string, scriptPath string, params string)
- func Start()
- type AsyncPool
- type CompressProps
- type CompressTask
- func (job *CompressTask) Creator() uint
- func (job *CompressTask) Do()
- func (job *CompressTask) GetError() *JobError
- func (job *CompressTask) Model() *model.Task
- func (job *CompressTask) Props() string
- func (job *CompressTask) SetError(err *JobError)
- func (job *CompressTask) SetErrorMsg(msg string)
- func (job *CompressTask) SetStatus(status int)
- func (job *CompressTask) Type() int
- type DecompressProps
- type DecompressTask
- func (job *DecompressTask) Creator() uint
- func (job *DecompressTask) Do()
- func (job *DecompressTask) GetError() *JobError
- func (job *DecompressTask) Model() *model.Task
- func (job *DecompressTask) Props() string
- func (job *DecompressTask) SetError(err *JobError)
- func (job *DecompressTask) SetErrorMsg(msg string, err error)
- func (job *DecompressTask) SetStatus(status int)
- func (job *DecompressTask) Type() int
- type GeneralWorker
- type ImportProps
- type ImportTask
- func (job *ImportTask) Creator() uint
- func (job *ImportTask) Do()
- func (job *ImportTask) GetError() *JobError
- func (job *ImportTask) Model() *model.Task
- func (job *ImportTask) Props() string
- func (job *ImportTask) SetError(err *JobError)
- func (job *ImportTask) SetErrorMsg(msg string, err error)
- func (job *ImportTask) SetStatus(status int)
- func (job *ImportTask) Type() int
- type Job
- func GetJobFromModel(task *model.Task) (Job, error)
- func NewCompressTask(user *model.User, dst string, dirs, files []uint) (Job, error)
- func NewCompressTaskFromModel(task *model.Task) (Job, error)
- func NewDecompressTask(user *model.User, src, dst, encoding string) (Job, error)
- func NewDecompressTaskFromModel(task *model.Task) (Job, error)
- func NewImportTask(user, policy uint, src, dst string, recursive bool) (Job, error)
- func NewImportTaskFromModel(task *model.Task) (Job, error)
- func NewTransferTask(user uint, src []string, dst, parent string, trim bool, node uint, ...) (Job, error)
- func NewTransferTaskFromModel(task *model.Task) (Job, error)
- type JobError
- type Pool
- type TransferProps
- type TransferTask
- func (job *TransferTask) Creator() uint
- func (job *TransferTask) Do()
- func (job *TransferTask) GetError() *JobError
- func (job *TransferTask) Model() *model.Task
- func (job *TransferTask) Props() string
- func (job *TransferTask) Recycle()
- func (job *TransferTask) SetError(err *JobError)
- func (job *TransferTask) SetErrorMsg(msg string, err error)
- func (job *TransferTask) SetStatus(status int)
- func (job *TransferTask) Type() int
- type Worker
Constants ¶
View Source
const ( // CompressTaskType 压缩任务 CompressTaskType = iota // DecompressTaskType 解压缩任务 DecompressTaskType // TransferTaskType 中转任务 TransferTaskType // ImportTaskType 导入任务 ImportTaskType )
任务类型
View Source
const ( // Queued 排队中 Queued = iota // Processing 处理中 Processing // Error 失败 Error // Canceled 取消 Canceled // Complete 完成 Complete )
任务状态
View Source
const ( // PendingProgress 等待中 PendingProgress = iota // Compressing 压缩中 CompressingProgress // Decompressing 解压缩中 DecompressingProgress // Downloading 下载中 DownloadingProgress // Transferring 转存中 TransferringProgress // ListingProgress 索引中 ListingProgress // InsertingProgress 插入中 InsertingProgress )
任务进度
Variables ¶
View Source
var ( // ErrUnknownTaskType 未知任务类型 ErrUnknownTaskType = errors.New("未知任务类型") )
Functions ¶
Types ¶
type AsyncPool ¶
type AsyncPool struct {
// contains filtered or unexported fields
}
AsyncPool 带有最大配额的任务池
type CompressProps ¶
type CompressProps struct { Dirs []uint `json:"dirs"` Files []uint `json:"files"` Dst string `json:"dst"` }
CompressProps 压缩任务属性
type CompressTask ¶
type CompressTask struct { User *model.User TaskModel *model.Task TaskProps CompressProps Err *JobError // contains filtered or unexported fields }
CompressTask 文件压缩任务
func (*CompressTask) SetErrorMsg ¶
func (job *CompressTask) SetErrorMsg(msg string)
SetErrorMsg 设定任务失败信息
type DecompressProps ¶
type DecompressProps struct { Src string `json:"src"` Dst string `json:"dst"` Encoding string `json:"encoding"` }
DecompressProps 压缩任务属性
type DecompressTask ¶
type DecompressTask struct { User *model.User TaskModel *model.Task TaskProps DecompressProps Err *JobError // contains filtered or unexported fields }
DecompressTask 文件压缩任务
func (*DecompressTask) SetError ¶
func (job *DecompressTask) SetError(err *JobError)
SetError 设定任务失败信息
func (*DecompressTask) SetErrorMsg ¶
func (job *DecompressTask) SetErrorMsg(msg string, err error)
SetErrorMsg 设定任务失败信息
type ImportProps ¶
type ImportProps struct { PolicyID uint `json:"policy_id"` // 存储策略ID Src string `json:"src"` // 原始路径 Recursive bool `json:"is_recursive"` // 是否递归导入 Dst string `json:"dst"` // 目的目录 }
ImportProps 导入任务属性
type ImportTask ¶
type ImportTask struct { User *model.User TaskModel *model.Task TaskProps ImportProps Err *JobError }
ImportTask 导入务
func (*ImportTask) SetErrorMsg ¶
func (job *ImportTask) SetErrorMsg(msg string, err error)
SetErrorMsg 设定任务失败信息
type Job ¶
type Job interface { Type() int // 返回任务类型 Creator() uint // 返回创建者ID Props() string // 返回序列化后的任务属性 Model() *model.Task // 返回对应的数据库模型 SetStatus(int) // 设定任务状态 Do() // 开始执行任务 SetError(*JobError) // 设定任务失败信息 GetError() *JobError // 获取任务执行结果,返回nil表示成功完成执行 }
Job 任务接口
func GetJobFromModel ¶
GetJobFromModel 从数据库给定模型获取任务
func NewCompressTask ¶
NewCompressTask 新建压缩任务
func NewCompressTaskFromModel ¶
NewCompressTaskFromModel 从数据库记录中恢复压缩任务
func NewDecompressTask ¶
NewDecompressTask 新建压缩任务
func NewDecompressTaskFromModel ¶
NewDecompressTaskFromModel 从数据库记录中恢复压缩任务
func NewImportTask ¶
NewImportTask 新建导入任务
func NewImportTaskFromModel ¶
NewImportTaskFromModel 从数据库记录中恢复导入任务
type TransferProps ¶
type TransferProps struct { Src []string `json:"src"` // 原始文件 SrcSizes map[string]uint64 `json:"src_size"` // 原始文件的大小信息,从机转存时使用 Parent string `json:"parent"` // 父目录 Dst string `json:"dst"` // 目的目录ID // 将会保留原始文件的目录结构,Src 除去 Parent 开头作为最终路径 TrimPath bool `json:"trim_path"` // 负责处理中专任务的节点ID NodeID uint `json:"node_id"` }
TransferProps 中转任务属性
type TransferTask ¶
type TransferTask struct { User *model.User TaskModel *model.Task TaskProps TransferProps Err *JobError // contains filtered or unexported fields }
TransferTask 文件中转任务
func (*TransferTask) SetErrorMsg ¶
func (job *TransferTask) SetErrorMsg(msg string, err error)
SetErrorMsg 设定任务失败信息
Source Files ¶
Click to show internal directories.
Click to hide internal directories.