class ForemanResourceQuota::Engine
Public Class Methods
register_scheduled_task(task_class, cronline)
click to toggle source
Helper to register ForemanTasks
# File lib/foreman_resource_quota/engine.rb, line 82 def self.register_scheduled_task(task_class, cronline) return if ::ForemanTasks::RecurringLogic.joins(:tasks) .merge(::ForemanTasks::Task.where(label: task_class.name)) .exists? ::ForemanTasks::RecurringLogic.transaction(isolation: :serializable) do User.as_anonymous_admin do recurring_logic = ::ForemanTasks::RecurringLogic.new_from_cronline(cronline) recurring_logic.save! recurring_logic.start(task_class) end end rescue ActiveRecord::TransactionIsolationError => e Rails.logger.warn "ForemanResourceQuota: skipping RecurringLogic registration hook (#{e})" end