Class: Sidekiq::Form526BackupSubmissionProcess::Submit

Inherits:
Object
  • Object
show all
Extended by:
ActiveSupport::Concern
Includes:
SentryLogging, Job
Defined in:
lib/sidekiq/form526_backup_submission_process/submit.rb

Constant Summary collapse

STATSD_KEY_PREFIX =
'worker.evss.form526_backup_submission_process'

Instance Method Summary collapse

Methods included from SentryLogging

#log_exception_to_sentry, #log_message_to_sentry, #non_nil_hash?, #normalize_level, #rails_logger

Instance Method Details

#perform(form526_submission_id) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/sidekiq/form526_backup_submission_process/submit.rb', line 71

def perform(form526_submission_id)
  return unless Settings.form526_backup.enabled

  job_status = Form526JobStatus.find_or_initialize_by(job_id: jid)
  job_status.assign_attributes(form526_submission_id:,
                               job_class: 'BackupSubmission',
                               status: 'pending')
  job_status.save!

  Processor.new(form526_submission_id).process!
  job_status.update(status: Form526JobStatus::STATUS[:success])
rescue => e
  ::Rails.logger.error(
    message: "FORM526 BACKUP SUBMISSION FAILURE. Investigate immediately: #{e.message}.",
    backtrace: e.backtrace,
    submission_id: form526_submission_id
  )
  bgjob_errors = job_status.bgjob_errors || {}
  bgjob_errors.merge!(error_hash_for_job_status(e))
  job_status.update(status: Form526JobStatus::STATUS[:retryable_error], bgjob_errors:)
  raise e
end