MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / Get

Method Get

service/node/task.go:61–88  ·  view source on GitHub ↗
(c *gin.Context)

Source from the content-addressed store, hash-verified

59)
60
61func (s *GetSlaveTaskService) Get(c *gin.Context) (*cluster.SlaveTaskSummary, error) {
62 dep := dependency.FromContext(c)
63 registry := dep.TaskRegistry()
64
65 t, ok := registry.Get(s.ID)
66 if !ok {
67 return nil, serializer.NewError(serializer.CodeNotFound, "task not found", nil)
68 }
69 status := t.Status()
70 _, clearOnComplete := c.GetQuery(routes.SlaveClearTaskRegistryQuery)
71 if clearOnComplete && status == task.StatusCompleted ||
72 status == task.StatusError ||
73 status == task.StatusCanceled {
74 registry.Delete(s.ID)
75 }
76
77 res := &cluster.SlaveTaskSummary{
78 Status: status,
79 PrivateState: t.State(),
80 Progress: t.Progress(c),
81 }
82 err := t.Error()
83 if err != nil {
84 res.Error = err.Error()
85 }
86
87 return res, nil
88}
89
90func slaveTaskPropsFromContext(ctx context.Context) (*types.SlaveTaskProps, error) {
91 nodeIdStr, ok := ctx.Value(cluster.SlaveNodeIDCtx{}).(string)

Callers

nothing calls this directly

Calls 9

FromContextFunction · 0.92
NewErrorFunction · 0.92
TaskRegistryMethod · 0.65
GetMethod · 0.65
StatusMethod · 0.65
DeleteMethod · 0.65
StateMethod · 0.65
ProgressMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected