diff options
author | Marko Kreen | 2009-12-03 15:27:53 +0000 |
---|---|---|
committer | Marko Kreen | 2009-12-03 15:27:53 +0000 |
commit | 6c4bc8c6b9f502ad15c2e50d40e519446609e635 (patch) | |
tree | 71fbbddfe519146948ff217508863daa73fd70f2 /python/skytools/scripting.py | |
parent | f51bf4382e8ecc8c08cfcf45f7db836ef8648939 (diff) |
DBScript.run_func_safely: stop playing with prefer_looping
Precalculating 'prefer_looping' does not work as the parameters
may be changed inside called function.
Diffstat (limited to 'python/skytools/scripting.py')
-rw-r--r-- | python/skytools/scripting.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/python/skytools/scripting.py b/python/skytools/scripting.py index dfdee696..cc81d8c7 100644 --- a/python/skytools/scripting.py +++ b/python/skytools/scripting.py @@ -632,9 +632,6 @@ class DBScript(object): "Run users work function, safely." cname = None emsg = None - if prefer_looping: - if not self.looping or self.loop_delay <= 0: - prefer_looping = False try: return func() except UsageError, d: @@ -648,13 +645,13 @@ class DBScript(object): sys.exit(1) except SystemExit, d: self.send_stats() - if prefer_looping: + if prefer_looping and self.looping and self.loop_delay > 0: self.log.info("got SystemExit(%s), exiting" % str(d)) self.reset() raise d except KeyboardInterrupt, d: self.send_stats() - if prefer_looping: + if prefer_looping and self.looping and self.loop_delay > 0: self.log.info("got KeyboardInterrupt, exiting") self.reset() sys.exit(1) @@ -683,7 +680,7 @@ class DBScript(object): # reset and sleep self.reset() self.exception_hook(d, emsg, cname) - if prefer_looping: + if prefer_looping and self.looping and self.loop_delay > 0: self.sleep(20) return -1 sys.exit(1) |