]> git.openstreetmap.org Git - rails.git/blobdiff - lib/daemons/gpx_import.rb
Sketch out how to use the jobs queue for trace insertion and deletion
[rails.git] / lib / daemons / gpx_import.rb
diff --git a/lib/daemons/gpx_import.rb b/lib/daemons/gpx_import.rb
deleted file mode 100755 (executable)
index a0344b5..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env ruby
-
-# You might want to change this
-# ENV["RAILS_ENV"] ||= "development"
-
-require File.dirname(__FILE__) + "/../../config/environment"
-
-terminated = false
-
-logger = ActiveRecord::Base.logger
-
-loop do
-  ActiveRecord::Base.logger.info("GPX Import daemon wake @ #{Time.now}.")
-
-  Trace.find(:all, :conditions => { :inserted => false, :visible => true }, :order => "id").each do |trace|
-    Signal.trap("TERM") do
-      terminated = true
-    end
-
-    begin
-      gpx = trace.import
-
-      if gpx.actual_points.positive?
-        Notifier.gpx_success(trace, gpx.actual_points).deliver
-      else
-        Notifier.gpx_failure(trace, "0 points parsed ok. Do they all have lat,lng,alt,timestamp?").deliver
-        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
-      trace.destroy
-    end
-
-    Signal.trap("TERM", "DEFAULT")
-
-    exit if terminated
-  end
-
-  Trace.find(:all, :conditions => { :visible => false }, :order => "id").each do |trace|
-    Signal.trap("TERM") do
-      terminated = true
-    end
-
-    begin
-      trace.destroy
-    rescue StandardError => ex
-      logger.info ex.to_s
-      ex.backtrace.each { |l| logger.info l }
-    end
-
-    Signal.trap("TERM", "DEFAULT")
-
-    exit if terminated
-  end
-
-  sleep 5.minutes.value
-end