summaryrefslogtreecommitdiff
path: root/python/skytools/scripting.py
diff options
context:
space:
mode:
authorMarko Kreen2009-09-09 11:02:01 +0000
committerMarko Kreen2009-09-09 11:02:01 +0000
commit7dbe90b5df0178a711986a9b5f91c57a9544cff6 (patch)
tree3347dac41e52062e2564bfac307cf88e6f694a7c /python/skytools/scripting.py
parent8647a60005315bf0c15c966213322ea1baf7bff6 (diff)
skytools.DBScript: make work_state = -1 signal exception
If exception was thrown, set work_state = -1, to let consumer handle next work differently.
Diffstat (limited to 'python/skytools/scripting.py')
-rw-r--r--python/skytools/scripting.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/python/skytools/scripting.py b/python/skytools/scripting.py
index 2b151e9c..2b2f7c50 100644
--- a/python/skytools/scripting.py
+++ b/python/skytools/scripting.py
@@ -286,6 +286,12 @@ class DBScript(object):
loop_delay = 1
doc_string = None
+ # result from last work() call:
+ # 1 - there is probably more work, don't sleep
+ # 0 - no work, sleep before calling again
+ # -1 - exception was thrown
+ work_state = 1
+
def __init__(self, service_name, args):
"""Script setup.
@@ -307,7 +313,6 @@ class DBScript(object):
self.need_reload = 1
self.stat_dict = {}
self.log_level = logging.INFO
- self.work_state = 1
# parse command line
parser = self.init_optparse()
@@ -624,7 +629,7 @@ class DBScript(object):
self.reset()
if prefer_looping and self.looping and not self.do_single_loop:
time.sleep(20)
- return 1
+ return -1
sys.exit(1)
def work(self):