Class: DwcaCreateDownloadJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/dwca_create_download_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(download, core_scope: nil, extension_scopes: {biological_associations: nil, media: nil}, predicate_extensions: {}, taxonworks_extensions: []) ⇒ Object

take a download, and a list of scopes, and save the result to the download, that’s all # TODO: handle extension scopes

Parameters:

  • core_scope (String, ActiveRecord::Relation) (defaults to: nil)

    String of SQL generated from the scope SQL must return a list of DwcOccurrence records

Returns:



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/jobs/dwca_create_download_job.rb', line 10

def perform(download, core_scope: nil, extension_scopes: {biological_associations: nil, media: nil}, predicate_extensions: {}, taxonworks_extensions: [])
  begin
    begin
      d = ::Export::Dwca::Data.new(core_scope:, predicate_extensions:, extension_scopes:, taxonworks_extensions:)
      d.package_download(download)
      d
    ensure
      d.cleanup
    end
  rescue => ex
    ExceptionNotifier.notify_exception(ex, data: { download: download&.id&.to_s } ) # otu: otu&.id&.to_s,
    raise
  end
end