summaryrefslogtreecommitdiff
path: root/python/skytools/scripting.py
diff options
context:
space:
mode:
authorMarko Kreen2009-04-28 11:51:10 +0000
committerMarko Kreen2009-04-28 12:03:02 +0000
commitf2d8830120a4cb2de550345beff8cc4b96ebef9b (patch)
treec092e37dc159188eb506d5504705bb628f1357c3 /python/skytools/scripting.py
parent4fd8ea78848a8bdb1801ddd5be65da10ed6bdb05 (diff)
DBScript: avoid double config reload
also remove pointless job_name default, as it is already handled in Config class.
Diffstat (limited to 'python/skytools/scripting.py')
-rw-r--r--python/skytools/scripting.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/python/skytools/scripting.py b/python/skytools/scripting.py
index 0ba801b3..4520d672 100644
--- a/python/skytools/scripting.py
+++ b/python/skytools/scripting.py
@@ -321,7 +321,11 @@ class DBScript(object):
self.send_signal(signal.SIGHUP)
def load_config(self):
- """Loads and returns skytools.Config instance."""
+ """Loads and returns skytools.Config instance.
+
+ By default it uses first command-line argument as config
+ file name. Can be overrided.
+ """
conf_file = self.args[0]
return Config(self.service_name, conf_file)
@@ -398,8 +402,12 @@ class DBScript(object):
def reload(self):
"Reload config."
- self.cf.reload()
- self.job_name = self.cf.get("job_name", self.service_name)
+ # avoid double loading on startup
+ if not self.cf:
+ self.cf = self.load_config()
+ else:
+ self.cf.reload()
+ self.job_name = self.cf.get("job_name")
self.pidfile = self.cf.getfile("pidfile", '')
self.loop_delay = self.cf.getfloat("loop_delay", 1.0)