dawarich/app/jobs/points/create_job.rb
2025-05-21 18:57:29 +02:00

17 lines
370 B
Ruby

# frozen_string_literal: true
class Points::CreateJob < ApplicationJob
queue_as :points
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