MCPcopy Index your code
hub / github.com/GoEdgeLab/EdgeNode / finishTask

Method finishTask

internal/nodes/node_tasks.go:361–399  ·  view source on GitHub ↗

标记任务完成

(taskId int64, taskVersion int64, taskErr error)

Source from the content-addressed store, hash-verified

359
360// 标记任务完成
361func (this *Node) finishTask(taskId int64, taskVersion int64, taskErr error) (success bool) {
362 if taskId <= 0 {
363 return true
364 }
365
366 rpcClient, err := rpc.SharedRPC()
367 if err != nil {
368 remotelogs.Debug("NODE", "create rpc client failed: "+err.Error())
369 return false
370 }
371
372 var isOk = taskErr == nil
373 if isOk && taskVersion > this.lastTaskVersion {
374 this.lastTaskVersion = taskVersion
375 }
376
377 var errMsg = ""
378 if taskErr != nil {
379 errMsg = taskErr.Error()
380 }
381
382 _, err = rpcClient.NodeTaskRPC.ReportNodeTaskDone(rpcClient.Context(), &pb.ReportNodeTaskDoneRequest{
383 NodeTaskId: taskId,
384 IsOk: isOk,
385 Error: errMsg,
386 })
387 success = err == nil
388
389 if err != nil {
390 // 连接错误不需要上报到服务中心
391 if rpc.IsConnError(err) {
392 remotelogs.Debug("NODE", "report task done failed: "+err.Error())
393 } else {
394 remotelogs.Error("NODE", "report task done failed: "+err.Error())
395 }
396 }
397
398 return success
399}

Callers 1

loopTasksMethod · 0.95

Calls 6

SharedRPCFunction · 0.92
DebugFunction · 0.92
IsConnErrorFunction · 0.92
ErrorFunction · 0.92
ContextMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected