Module: SpatialFeatures::DelayedFeatureImport

Includes:
FeatureImport
Defined in:
lib/spatial_features/has_spatial_features/delayed_feature_import.rb

Instance Method Summary collapse

Methods included from FeatureImport

#update_features!

Instance Method Details

#failed_feature_update_jobsObject



22
23
24
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 22

def failed_feature_update_jobs
  feature_update_jobs.where.not(failed_at: nil)
end

#feature_update_errorObject



14
15
16
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 14

def feature_update_error
  (failed_feature_update_jobs.first.try(:last_error) || '').split("\n").first
end

#feature_update_jobsObject



26
27
28
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 26

def feature_update_jobs
  Delayed::Job.where(queue: delayed_jobs_queue_name)
end

#queue_feature_update!(options = {}) ⇒ Object



5
6
7
8
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 5

def queue_feature_update!(options = {})
  job = UpdateFeaturesJob.new(options.merge :spatial_model_type => self.class, :spatial_model_id => self.id)
  Delayed::Job.enqueue(job, :queue => delayed_jobs_queue_name)
end

#running_feature_update_jobsObject



18
19
20
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 18

def running_feature_update_jobs
  feature_update_jobs.where(failed_at: nil)
end

#updating_features?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/spatial_features/has_spatial_features/delayed_feature_import.rb', line 10

def updating_features?
  running_feature_update_jobs.exists?
end