# frozen_string_literal: true # Base Application class ApplicationController < ActionController::Base MAX_DURATION_TO_COMPLETE_IN_SECONDS = 3 around_action do |_, action| start = Process.clock_gettime(Process::CLOCK_MONOTONIC) begin action.call ensure duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start if duration > MAX_DURATION_TO_COMPLETE_IN_SECONDS logger.warn('processing took too long to complete, please review your code as asynchronous job!', duration: duration * 1_000) end end end end