Class: Core::Filtering::ValidationJobRunner
- Inherits:
-
Object
- Object
- Core::Filtering::ValidationJobRunner
- Defined in:
- lib/core/filtering/validation_job_runner.rb
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(connector_settings) ⇒ ValidationJobRunner
constructor
A new instance of ValidationJobRunner.
Constructor Details
#initialize(connector_settings) ⇒ ValidationJobRunner
Returns a new instance of ValidationJobRunner.
15 16 17 18 19 20 |
# File 'lib/core/filtering/validation_job_runner.rb', line 15 def initialize(connector_settings) @connector_settings = connector_settings @connector_class = Connectors::REGISTRY.connector_class(connector_settings.service_type) @validation_finished = false @status = { :error => nil } end |
Instance Method Details
#execute ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/core/filtering/validation_job_runner.rb', line 22 def execute Utility::Logger.info("Starting a validation job for connector #{@connector_settings.id}.") validation_result = @connector_class.validate_filtering(@connector_settings.filtering[:draft]) # currently only used for connectors -> DEFAULT domain can be assumed (will be changed with the integration of crawler) ElasticConnectorActions.update_filtering_validation(@connector_settings.id, { Core::Filtering::DEFAULT_DOMAIN => validation_result }) @validation_finished = true rescue StandardError => e Utility::ExceptionTracking.log_exception(e) validation_failed_result = { :state => Core::Filtering::ValidationStatus::INVALID, :errors => [ { :ids => [], :messages => ['Unknown problem occurred while validating, see logs for details.'] } ] } ElasticConnectorActions.update_filtering_validation(@connector_settings.id, { DEFAULT_DOMAIN => validation_failed_result }) ensure if !@validation_finished && !@status[:error].present? @status[:error] = 'Validation thread did not finish execution. Check connector logs for more details.' end if @status[:error] Utility::Logger.warn("Failed to validate filtering for connector #{@connector_settings.id} with error '#{@status[:error]}'.") else Utility::Logger.info("Successfully validated filtering for connector #{@connector_settings.id}.") end end |