class SubmissionAppendJob < ApplicationJob queue_as :default rescue_from(Signet::AuthorizationError, Google::Apis::AuthorizationError) do |exception| submission_id = self.arguments.first Rails.logger.error("AuthorizationError during SubmissionAppend: submission_id=#{submission_id}") submission = Submission.find(submission_id) submission.form.deactivate!('AuthorizationError') end def perform(*args) submission_id = args.first submission = Submission.find(submission_id) if submission.form.active? submission.append_to_spreadsheet else Rails.logger.error("Inactive form: submission_id=#{submission_id} form_id=#{submission.form_id}") end end end