DBScript: quick exit on MemoryError
authorMarko Kreen <markokr@gmail.com>
Thu, 3 Dec 2009 14:45:26 +0000 (16:45 +0200)
committerMarko Kreen <markokr@gmail.com>
Thu, 3 Dec 2009 14:45:26 +0000 (16:45 +0200)
python/skytools/scripting.py

index 9d7c2b17c02e2baa2675c982549a621612afa51f..c4380d919e91a780548732a10d44595f76fa0bf1 100644 (file)
@@ -640,6 +640,12 @@ class DBScript(object):
         except UsageError, d:
             self.log.error(str(d))
             sys.exit(1)
+        except MemoryError, d:
+            try: # complex logging may not succeed
+                self.log.exception("Job %s out of memory, exiting" % self.job_name)
+            except MemoryError:
+                self.log.fatal("Out of memory")
+            sys.exit(1)
         except SystemExit, d:
             self.send_stats()
             if prefer_looping: