From 9570daf0065605f3ce7b4c56f75876f8a1f2ddb8 Mon Sep 17 00:00:00 2001 From: brianlball Date: Thu, 8 Aug 2024 13:55:03 -0500 Subject: [PATCH] catch out of disk space error and other unhandled errors --- server/app/jobs/resque_jobs/run_simulate_data_point.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server/app/jobs/resque_jobs/run_simulate_data_point.rb b/server/app/jobs/resque_jobs/run_simulate_data_point.rb index ae8a295f4..44f7baafb 100644 --- a/server/app/jobs/resque_jobs/run_simulate_data_point.rb +++ b/server/app/jobs/resque_jobs/run_simulate_data_point.rb @@ -31,11 +31,15 @@ def self.perform(data_point_id, options = {}) msg = "SKIPPING #{data_point_id} since it is #{statuses[:status]} and #{statuses[:status_message]}" d.add_to_rails_log(msg) end - rescue Resque::TermException => e + rescue Errno::ENOSPC, Resque::DirtyExit, Resque::TermException, Resque::PruneDeadWorkerDirtyExit => e # Log the termination and re-enqueue attempt - d.add_to_rails_log("Worker Caught TermException: #{e.inspect}: Re-enqueueing DataPoint ID #{data_point_id}") + d.add_to_rails_log("Worker Caught Exception: #{e.inspect}: Re-enqueueing DataPoint ID #{data_point_id}") Resque.enqueue(self, data_point_id, options) d.add_to_rails_log("DataPoint #{data_point_id} re-enqueued.") + rescue => e + d.add_to_rails_log("Worker Caught Unhandled Exception: #{e.message}: Re-enqueueing DataPoint ID #{data_point_id}") + Resque.enqueue(self, data_point_id, options) + d.add_to_rails_log("Unhandled exception, re-enqueued DataPoint.") end end end