[Zodb-checkins] SVN: zdaemon/trunk/src/zdaemon/zd Simplified runner state management.
jim
cvs-admin at zope.org
Mon Jun 4 19:11:04 UTC 2012
Log message for revision 126588:
Simplified runner state management.
Changed:
U zdaemon/trunk/src/zdaemon/zdctl.py
U zdaemon/trunk/src/zdaemon/zdoptions.py
U zdaemon/trunk/src/zdaemon/zdrun.py
-=-
Modified: zdaemon/trunk/src/zdaemon/zdctl.py
===================================================================
--- zdaemon/trunk/src/zdaemon/zdctl.py 2012-06-04 17:01:22 UTC (rev 126587)
+++ zdaemon/trunk/src/zdaemon/zdctl.py 2012-06-04 19:11:00 UTC (rev 126588)
@@ -444,7 +444,6 @@
print "umask: ", oct(umask)
print "directory: ", repr(self.options.directory)
print "logfile: ", repr(self.options.logfile)
- print "hang_around: ", repr(self.options.hang_around)
def show_python(self):
print "Python info:"
Modified: zdaemon/trunk/src/zdaemon/zdoptions.py
===================================================================
--- zdaemon/trunk/src/zdaemon/zdoptions.py 2012-06-04 17:01:22 UTC (rev 126587)
+++ zdaemon/trunk/src/zdaemon/zdoptions.py 2012-06-04 19:11:00 UTC (rev 126588)
@@ -403,7 +403,6 @@
default=022)
self.add("directory", "runner.directory", "z:", "directory=",
existing_parent_directory)
- self.add("hang_around", "runner.hang_around", default=0)
def realize(self, *args, **kwds):
ZDOptions.realize(self, *args, **kwds)
Modified: zdaemon/trunk/src/zdaemon/zdrun.py
===================================================================
--- zdaemon/trunk/src/zdaemon/zdrun.py 2012-06-04 17:01:22 UTC (rev 126587)
+++ zdaemon/trunk/src/zdaemon/zdrun.py 2012-06-04 19:11:00 UTC (rev 126588)
@@ -382,16 +382,15 @@
# additionally recommends ignoring SIGHUP and forking again
# after the setsid() call, for obscure SVR4 reasons.
- mood = 1 # 1: up, 0: down, -1: suicidal
+ should_be_up = True
delay = 0 # If nonzero, delay starting or killing until this time
killing = 0 # If true, send SIGKILL when delay expires
proc = None # Subprocess instance
def runforever(self):
self.logger.info("daemon manager started")
- min_mood = not self.options.hang_around
- while self.mood >= min_mood or self.proc.pid:
- if self.mood > 0 and not self.proc.pid and not self.delay:
+ while self.should_be_up or self.proc.pid:
+ if self.should_be_up and not self.proc.pid and not self.delay:
pid = self.proc.spawn()
if not pid:
# Can't fork. Try again later...
@@ -519,7 +518,7 @@
self.sendreply("Unknown command %r; 'help' for a list" % args[0])
def cmd_start(self, args):
- self.mood = 1 # Up
+ self.should_be_up = True
self.backoff = 0
self.delay = 0
self.killing = 0
@@ -530,7 +529,7 @@
self.sendreply("Application already started")
def cmd_stop(self, args):
- self.mood = 0 # Down
+ self.should_be_up = False
self.backoff = 0
self.delay = 0
self.killing = 0
@@ -543,7 +542,7 @@
self.sendreply("Application already stopped")
def cmd_restart(self, args):
- self.mood = 1 # Up
+ self.should_be_up = True
self.backoff = 0
self.delay = 0
self.killing = 0
@@ -556,21 +555,6 @@
self.proc.spawn()
self.sendreply("Application started")
- def cmd_exit(self, args):
- self.mood = -1 # Suicidal
- self.backoff = 0
- self.delay = 0
- self.killing = 0
- if self.proc.pid:
- self.proc.kill(signal.SIGTERM)
- self.sendreply("Sent SIGTERM; will exit later")
- self.killing = 1
- self.delay = time.time() + self.options.backofflimit
- else:
- self.sendreply("Exiting now")
- self.logger.info("Exiting")
- sys.exit(0)
-
def cmd_kill(self, args):
if args[1:]:
try:
@@ -596,7 +580,7 @@
status = "running"
self.sendreply("status=%s\n" % status +
"now=%r\n" % time.time() +
- "mood=%d\n" % self.mood +
+ "should_be_up=%d\n" % self.should_be_up +
"delay=%r\n" % self.delay +
"backoff=%r\n" % self.backoff +
"lasttime=%r\n" % self.proc.lasttime +
More information about the Zodb-checkins
mailing list