Module: SpatialFeatures::QueuedSpatialProcessing

Extended by:
ActiveSupport::Concern
Included in:
FeatureImport
Defined in:
lib/spatial_features/has_spatial_features/queued_spatial_processing.rb

Defined Under Namespace

Classes: SpatialProcessingJob

Instance Method Summary collapse

Instance Method Details

#delay_update_features!(*args) ⇒ Object



9
10
11
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 9

def delay_update_features!(*args)
  queue_spatial_task('update_features!', *args)
end

#failed_feature_update_jobsObject



40
41
42
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 40

def failed_feature_update_jobs
  spatial_processing_jobs('update_features!').where.not(failed_at: nil)
end

#feature_update_errorObject



32
33
34
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 32

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

#queue_update_spatial_cache(*args) ⇒ Object



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

def queue_update_spatial_cache(*args)
  queue_spatial_task('update_spatial_cache', *args)
end

#running_feature_update_jobsObject



36
37
38
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 36

def running_feature_update_jobs
  spatial_processing_jobs('update_features!').where(failed_at: nil)
end

#spatial_processing_jobs(method_name = nil) ⇒ Object



44
45
46
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 44

def spatial_processing_jobs(method_name = nil)
  Delayed::Job.where('queue LIKE ?', "#{spatial_processing_queue_name}#{method_name}%")
end

#spatial_processing_status(method_name) ⇒ Object



26
27
28
29
30
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 26

def spatial_processing_status(method_name)
  if has_attribute?(:spatial_processing_status_cache)
    spatial_processing_status_cache[method_name.to_s]&.to_sym
  end
end

#updating_features?Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
20
# File 'lib/spatial_features/has_spatial_features/queued_spatial_processing.rb', line 13

def updating_features?
  case spatial_processing_status(:update_features!)
  when :queued, :processing
    true
  else
    false
  end
end

#updating_features_failed?Boolean

Returns:

  • (Boolean)


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

def updating_features_failed?
  spatial_processing_status(:update_features!) == :failure
end