dawarich/app/jobs/points/create_job.rb
2025-02-22 22:37:21 +01:00

17 lines
371 B
Ruby

# frozen_string_literal: true
class Points::CreateJob < ApplicationJob
queue_as :default
def perform(params, user_id)
data = Points::Params.new(params, user_id).call
data.each_slice(1000) do |location_batch|
Point.upsert_all(
location_batch,
unique_by: %i[lonlat timestamp user_id],
returning: false
)
end
end
end