Class: Renalware::Feeds::Files::PracticeMemberships::ImportJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- Renalware::Feeds::Files::PracticeMemberships::ImportJob
- Includes:
- Job, StringLogging
- Defined in:
- app/models/renalware/feeds/files/practice_memberships/import_job.rb
Constant Summary collapse
- FILE_TO_EXTRACT_FROM_ARCHIVE =
/epracmem.csv/.freeze
Instance Method Summary collapse
-
#perform(file) ⇒ Object
TODO: refactor.
Methods included from Job
#find_file_in, #formatted_exception, #log
Methods included from StringLogging
Instance Method Details
#perform(file) ⇒ Object
TODO: refactor
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/models/renalware/feeds/files/practice_memberships/import_job.rb', line 14 def perform(file) logging_to_stringio(strio = StringIO.new) log "Before upload there are #{practice_membership_count} practice memberships" file.update!(status: :processing, attempts: file.attempts + 1) status = :success elapsed_ms = Benchmark.ms { process_archive(file.location) } log "After upload there are #{practice_membership_count} practice memberships" rescue StandardError => e Rails.logger.error(formatted_exception(e)) status = :failure raise e ensure file.update!(status: status, result: strio.string, time_taken: elapsed_ms) end |