MCPcopy Index your code
hub / github.com/docker/docker-agent / ListBackgroundJobs

Method ListBackgroundJobs

pkg/tools/builtin/shell/shell.go:406–434  ·  view source on GitHub ↗
(_ context.Context, _ map[string]any)

Source from the content-addressed store, hash-verified

404}
405
406func (h *shellHandler) ListBackgroundJobs(_ context.Context, _ map[string]any) (*tools.ToolCallResult, error) {
407 var output strings.Builder
408 output.WriteString("Background Jobs:\n\n")
409
410 jobCount := 0
411 h.jobs.Range(func(jobID string, job *backgroundJob) bool {
412 jobCount++
413 status := job.status.Load()
414 elapsed := time.Since(job.startTime).Round(time.Second)
415
416 fmt.Fprintf(&output, "ID: %s\n", jobID)
417 fmt.Fprintf(&output, " Command: %s\n", job.cmd)
418 fmt.Fprintf(&output, " Status: %s\n", statusToString(status))
419 fmt.Fprintf(&output, " Runtime: %s\n", elapsed)
420 if status != statusRunning {
421 job.outputMu.RLock()
422 fmt.Fprintf(&output, " Exit Code: %d\n", job.exitCode)
423 job.outputMu.RUnlock()
424 }
425 output.WriteString("\n")
426 return true
427 })
428
429 if jobCount == 0 {
430 output.WriteString("No background jobs found.\n")
431 }
432
433 return tools.ResultSuccess(output.String()), nil
434}
435
436func (h *shellHandler) ViewBackgroundJob(_ context.Context, params ViewBackgroundJobArgs) (*tools.ToolCallResult, error) {
437 job, exists := h.jobs.Load(params.JobID)

Callers 1

Calls 5

ResultSuccessFunction · 0.92
statusToStringFunction · 0.85
LoadMethod · 0.80
RangeMethod · 0.45
StringMethod · 0.45

Tested by 1