Download internal/task/base.go from lin7zhi/OpenList: direct link, hf CLI and curl.
- Browser
- Download file 1.77 kB
-
https://huggingface.co/spaces/lin7zhi/OpenList/resolve/main/internal/task/base.go
- Command line
-
hf download hf://spaces/lin7zhi/OpenList/internal/task/base.go
-
curl -L -o base.go https://huggingface.co/spaces/lin7zhi/OpenList/resolve/main/internal/task/base.go
1.77 kB
| package task | |
| import ( | |
| "context" | |
| "time" | |
| "github.com/OpenListTeam/OpenList/v4/internal/conf" | |
| "github.com/OpenListTeam/OpenList/v4/internal/model" | |
| "github.com/OpenListTeam/tache" | |
| ) | |
| type TaskExtension struct { | |
| tache.Base | |
| Creator *model.User | |
| startTime *time.Time | |
| endTime *time.Time | |
| TotalBytes int64 | |
| ApiUrl string | |
| } | |
| func (t *TaskExtension) SetCtx(ctx context.Context) { | |
| if t.Creator != nil { | |
| ctx = context.WithValue(ctx, conf.UserKey, t.Creator) | |
| } | |
| if len(t.ApiUrl) > 0 { | |
| ctx = context.WithValue(ctx, conf.ApiUrlKey, t.ApiUrl) | |
| } | |
| t.Base.SetCtx(ctx) | |
| } | |
| func (t *TaskExtension) SetCreator(creator *model.User) { | |
| t.Creator = creator | |
| t.Persist() | |
| } | |
| func (t *TaskExtension) GetCreator() *model.User { | |
| return t.Creator | |
| } | |
| func (t *TaskExtension) SetStartTime(startTime time.Time) { | |
| t.startTime = &startTime | |
| } | |
| func (t *TaskExtension) GetStartTime() *time.Time { | |
| return t.startTime | |
| } | |
| func (t *TaskExtension) SetEndTime(endTime time.Time) { | |
| t.endTime = &endTime | |
| } | |
| func (t *TaskExtension) GetEndTime() *time.Time { | |
| return t.endTime | |
| } | |
| func (t *TaskExtension) ClearEndTime() { | |
| t.endTime = nil | |
| } | |
| func (t *TaskExtension) SetTotalBytes(totalBytes int64) { | |
| t.TotalBytes = totalBytes | |
| } | |
| func (t *TaskExtension) GetTotalBytes() int64 { | |
| return t.TotalBytes | |
| } | |
| func (t *TaskExtension) SetRetry(retry int, maxRetry int) { | |
| t.Base.SetRetry(retry, maxRetry) | |
| if retry > 0 || !conf.Conf.Tasks.AllowRetryCanceled || t.Ctx() == nil { | |
| return | |
| } | |
| select { | |
| case <-t.Ctx().Done(): | |
| ctx, cancel := context.WithCancel(context.Background()) | |
| t.SetCtx(ctx) | |
| t.SetCancelFunc(cancel) | |
| default: | |
| } | |
| } | |
| type TaskExtensionInfo interface { | |
| tache.TaskWithInfo | |
| GetCreator() *model.User | |
| GetStartTime() *time.Time | |
| GetEndTime() *time.Time | |
| GetTotalBytes() int64 | |
| } | |