Handle authentication errors when appending data
This catches exceptions that can happen when an authentication is expired or removed by the user on google's side.
This commit is contained in:
@@ -1,8 +1,20 @@
|
||||
class SubmissionAppendJob < ApplicationJob
|
||||
queue_as :default
|
||||
|
||||
def perform(submission_id)
|
||||
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.append_to_spreadsheet
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user