2955: Fixed query of log table that checks for age of last log by an orphan
authorPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 4 Jun 2014 14:09:51 +0000 (10:09 -0400)
committerPeter Amstutz <peter.amstutz@curoverse.com>
Wed, 4 Jun 2014 14:09:51 +0000 (10:09 -0400)
job.

services/api/script/crunch-dispatch.rb

index f49f21b04c1e529f40f5368f252d02938d33c18d..c09be81fd219521bfd4ea3fe44df9f15bf4bce01 100755 (executable)
@@ -44,8 +44,10 @@ class Dispatcher
   def refresh_running
     Job.running.each do |jobrecord|
       if !@running[jobrecord.uuid]
-        f = Log.filter(["object_uuid", "=", jobrecord.uuid]).limit(1).order("created_at desc").results.first
-        if (Time.now - f.created_at) > 300
+        f = Log.where("object_uuid=?", jobrecord.uuid).limit(1).order("created_at desc").first
+        age = (Time.now - f.created_at)
+        if age > 300
+          $stderr.puts "dispatch: failing orphan job #{jobrecord.uuid}, last log is #{age} seconds old"
           # job is marked running, but not known to crunch-dispatcher, and
           # hasn't produced any log entries for 5 minutes, so mark it as failed.
           jobrecord.running = false