func()

in internal/task/run_job.go [114:140]


func (tr *taskRunner) followJobLogs(
	ctx context.Context,
	job *k8sbatchv1.Job,
) error {
	selector, err := k8smetav1.LabelSelectorAsSelector(job.Spec.Selector)
	if err != nil {
		return fmt.Errorf("invalid job selector: %w", err)
	}

	addPrefix := false
	if stdlib.ValOrZero(job.Spec.Parallelism) > 1 {
		// there might be multiple pods, add prefix to distinguish them
		addPrefix = true
	}

	return kubelib.FollowLogs(
		ctx,
		tr.kubeClient,
		&kubelib.FollowLogsParams{
			Namespace: job.Namespace,
			Selector:  selector,
			Container: containerNameRunner,
			AddPrefix: addPrefix,
			Output:    os.Stderr,
		},
	)
}