openstreetmap-website/app/jobs/trace_importer_job.rb

19 lines
569 B
Ruby

class TraceImporterJob < ApplicationJob
queue_as :default
def perform(trace)
gpx = trace.import
if gpx.actual_points.positive?
Notifier.gpx_success(trace, gpx.actual_points).deliver_later
else
Notifier.gpx_failure(trace, "0 points parsed ok. Do they all have lat,lng,alt,timestamp?").deliver_later
trace.destroy
end
rescue StandardError => ex
logger.info ex.to_s
ex.backtrace.each { |l| logger.info l }
Notifier.gpx_failure(trace, ex.to_s + "\n" + ex.backtrace.join("\n")).deliver_later
trace.destroy
end
end