in pkg/controller/jobs/job/job_controller.go [98:121]
func (h *parentWorkloadHandler) queueReconcileForChildJob(object client.Object, q workqueue.RateLimitingInterface) {
w, ok := object.(*kueue.Workload)
if !ok {
return
}
ctx := context.TODO()
log := ctrl.LoggerFrom(ctx).WithValues("workload", klog.KObj(w))
ctx = ctrl.LoggerInto(ctx, log)
log.V(5).Info("Queueing reconcile for child jobs")
var childJobs batchv1.JobList
if err := h.client.List(ctx, &childJobs, client.InNamespace(w.Namespace), client.MatchingFields{parentWorkloadKey: w.Name}); err != nil {
klog.Error(err, "Unable to list child jobs")
return
}
for _, childJob := range childJobs.Items {
log.V(5).Info("Queueing reconcile for child job", "job", klog.KObj(&childJob))
q.Add(reconcile.Request{
NamespacedName: types.NamespacedName{
Name: childJob.Name,
Namespace: w.Namespace,
},
})
}
}