Sha256: e47d9882ce5cba18827a3dcf67e10fca43efe63b0f8a9102fbeb905bb4adb0dc
Contents?: true
Size: 1.24 KB
Versions: 12
Compression:
Stored size: 1.24 KB
Contents
module ForemanInventoryUpload module Async class GenerateAllReportsJob < ::Actions::EntryAction include ::Actions::RecurringAction def plan unless Setting[:allow_auto_inventory_upload] logger.debug( 'The scheduled process is disabled due to the "allow_auto_inventory_upload" setting being set to false.' ) return end organizations = Organization.unscoped.all organizations.map do |organization| total_hosts = ForemanInventoryUpload::Generators::Queries.for_org(organization.id, use_batches: false).count if total_hosts <= ForemanInventoryUpload.max_org_size plan_generate_report(ForemanInventoryUpload.generated_reports_folder, organization) else logger.info("Skipping automatic uploads for organization #{organization.name}, too many hosts (#{total_hosts}/#{ForemanInventoryUpload.max_org_size})") end end.compact end def rescue_strategy_for_self Dynflow::Action::Rescue::Fail end def plan_generate_report(folder, organization) plan_action(ForemanInventoryUpload::Async::GenerateReportJob, folder, organization.id) end end end end
Version data entries
12 entries across 12 versions & 1 rubygems