In meiner Rails-App habe ich ein Skript, das einige Datensätze in der Datenbank aktualisiert. Wenn ich ein SIGTERM sende, um das Skript zu beenden, empfängt es gelegentlich dieses Signal, während ActiveRecord eine Abfrage ausführt. Dies führt dazu, dass eine ActiveRecord::StatementInvalid-Ausnahme ausgelöst wird.
Ich möchte StatementInvalid-Ausnahmen abfangen, die auftreten, wenn sie das Ergebnis eines SIGTERM sind, und das Skript beenden. Wie kann ich feststellen, dass ein StatementInvalid aufgrund eines Signals und nicht aus einem anderen Grund auftritt?