Class: AddressGeocoderWorker

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Job
Defined in:
app/workers/address_geocoder_worker.rb

Instance Method Summary collapse

Instance Method Details

#perform(address_ids, options = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/workers/address_geocoder_worker.rb', line 7

def perform(address_ids, options = {})
  logger.debug("AddressGeocoderWorker called", address_count: address_ids&.size)
  return unless address_ids&.present?

  addresses = Address.where(id: address_ids)
  logger.info "Processing #{addresses.count} addresses"
  addresses.each do |a|
    a.geocode
    if a.lat && a.lng
      a.update_columns(lat: a.lat, lng: a.lng, series_geocoded: true)
      logger.info "Address id #{a.id} geocoded with lat: #{a.lat}, lng: #{a.lng}"
    else
      logger.error "Address id #{a.id} geocoding failed"
    end
  end
end