in internal/controller/cache_controller.go [72:95]
func (r *CacheReconciler) reconcileHandler(ctx context.Context, h handler.CacheHandlerInterface) (ctrl.Result, error) {
logger := log.FromContext(ctx)
operations := []reconciler.ReconcileOperation{
h.CheckCacheExpiry,
h.EnsureCacheInitialized,
h.CalculateKeepAliveCount,
h.AdjustCache,
}
for _, operation := range operations {
result, err := operation(ctx)
if err != nil || result.RequeueRequest {
logger.Error(err, "cache operation failed")
return ctrl.Result{RequeueAfter: result.RequeueDelay}, err
}
if result.CancelRequest {
logger.Info("cache reconcile canceled, requeue after 60 seconds")
return ctrl.Result{RequeueAfter: defaultCacheCheckInterval}, nil
}
}
logger.Info("cache reconcile completed, requeue after 60 seconds")
return ctrl.Result{RequeueAfter: defaultCacheCheckInterval}, nil
}