# frozen_string_literal: true module Jobs class ProcessEmail < ::Jobs::Base sidekiq_options retry: 3 def execute(args) Email::Processor.process!( args[:mail], retry_on_rate_limit: args[:retry_on_rate_limit] || false, source: args[:source]&.to_sym, ) end sidekiq_retries_exhausted do |msg| Rails.logger.warn( "Incoming email could not be processed after 3 retries.\n\n#{msg["args"][:mail]}", ) end end end