class HomeController < ApplicationController
def index
@trending = TrendingSnips.new.call
@recommended = Recommendations.new(member: current_member).call
rescue Recommendations::Unavailable
Rails.logger.warn({ msg: 'recommendations.unavailable', request_id: request.request_id }.to_json)
@recommended = []
end
end
Not every failure should be a 500. If a non-critical dependency fails (e.g., recommendations), rescue narrowly, emit a metric/log, and serve a baseline response.