class ForemanInventoryUpload::Async::GenerateAllReportsJob

Public Class Methods

singleton_job_name() click to toggle source
# File lib/foreman_inventory_upload/async/generate_all_reports_job.rb, line 17
def self.singleton_job_name
  name
end

Public Instance Methods

perform() click to toggle source
# File lib/foreman_inventory_upload/async/generate_all_reports_job.rb, line 4
def perform
  portal_users = RedhatAccess::TelemetryConfiguration
                 .where(enable_telemetry: true)
                 .distinct
                 .pluck(:portal_user)
  portal_users.map do |portal_user|
    generated_file_name = File.join(ForemanInventoryUpload.base_folder, "#{portal_user}.tar.gz")
    GenerateReportJob.perform_later(generated_file_name, portal_user)
  end
ensure
  self.class.set(:wait => 24.hours).perform_later
end