2025-09-18 12:29:46 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
|
|
class Points::NightlyReverseGeocodingJob < ApplicationJob
|
|
|
|
|
queue_as :reverse_geocoding
|
|
|
|
|
|
|
|
|
|
def perform
|
|
|
|
|
return unless DawarichSettings.reverse_geocoding_enabled?
|
|
|
|
|
|
2025-12-27 07:33:54 -05:00
|
|
|
processed_user_ids = Set.new
|
|
|
|
|
|
2025-09-18 12:29:46 -04:00
|
|
|
Point.not_reverse_geocoded.find_each(batch_size: 1000) do |point|
|
|
|
|
|
point.async_reverse_geocode
|
2025-12-27 07:33:54 -05:00
|
|
|
processed_user_ids.add(point.user_id)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
processed_user_ids.each do |user_id|
|
|
|
|
|
Cache::InvalidateUserCaches.new(user_id).call
|
2025-09-18 12:29:46 -04:00
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|