module SpatialFeatures::QueuedSpatialProcessing

Public Instance Methods

delay_update_features!(*args) click to toggle source
# 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_jobs() click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 25
def failed_feature_update_jobs
  spatial_processing_jobs('update_features!').where.not(failed_at: nil)
end
feature_update_error() click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 17
def feature_update_error
  (failed_feature_update_jobs.first.try(:last_error) || '').split("\n").first
end
queue_update_spatial_cache(*args) click to toggle source
# 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_jobs() click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 21
def running_feature_update_jobs
  spatial_processing_jobs('update_features!').where(failed_at: nil)
end
spatial_processing_jobs(suffix = nil) click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 29
def spatial_processing_jobs(suffix = nil)
  Delayed::Job.where('queue LIKE ?', "#{spatial_processing_queue_name}#{suffix}%")
end
updating_features?() click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 13
def updating_features?
  running_feature_update_jobs.exists?
end

Private Instance Methods

queue_spatial_task(method_name, *args) click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 35
def queue_spatial_task(method_name, *args)
  delay(:queue => spatial_processing_queue_name + method_name).send(method_name, *args)
end
spatial_processing_queue_name() click to toggle source
# File lib/spatial_features/has_spatial_features/queued_spatial_processing.rb, line 39
def spatial_processing_queue_name
  "#{self.class}/#{self.id}/"
end