You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by se...@apache.org on 2016/02/06 16:03:13 UTC
svn commit: r1728844 - in /comdev/projects.apache.org/scripts/cronjobs:
pubsubber.py pubsubber.sh
Author: sebb
Date: Sat Feb 6 15:03:13 2016
New Revision: 1728844
URL: http://svn.apache.org/viewvc?rev=1728844&view=rev
Log:
Add logging for the daemon process
Modified:
comdev/projects.apache.org/scripts/cronjobs/pubsubber.py
comdev/projects.apache.org/scripts/cronjobs/pubsubber.sh
Modified: comdev/projects.apache.org/scripts/cronjobs/pubsubber.py
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/scripts/cronjobs/pubsubber.py?rev=1728844&r1=1728843&r2=1728844&view=diff
==============================================================================
--- comdev/projects.apache.org/scripts/cronjobs/pubsubber.py (original)
+++ comdev/projects.apache.org/scripts/cronjobs/pubsubber.py Sat Feb 6 15:03:13 2016
@@ -6,6 +6,7 @@ from threading import Thread
from datetime import datetime
import os
import sys
+import logging
version = 2
if sys.hexversion < 0x03000000:
@@ -19,6 +20,7 @@ else:
debug = False
+logger = None
watching={} # dict: key = path to watch, value = set() of paths to update on match
###########################################################
@@ -29,7 +31,12 @@ class daemon:
Usage: subclass the daemon class and override the run() method."""
- def __init__(self, pidfile): self.pidfile = pidfile
+ def __init__(self, pidfile, logfile = None):
+ self.pidfile = pidfile
+ if logfile == None:
+ self.logfile = os.devnull
+ else:
+ self.logfile = logfile
def daemonize(self):
"""Deamonize class. UNIX double fork mechanism."""
@@ -63,8 +70,8 @@ class daemon:
sys.stdout.flush()
sys.stderr.flush()
si = open(os.devnull, 'r')
- so = open(os.devnull, 'a+')
- se = open(os.devnull, 'a+')
+ so = open(self.logfile, 'a+')
+ se = open(self.logfile, 'a+')
os.dup2(si.fileno(), sys.stdin.fileno())
os.dup2(so.fileno(), sys.stdout.fileno())
@@ -76,8 +83,10 @@ class daemon:
pid = str(os.getpid())
with open(self.pidfile,'w+') as f:
f.write(pid + '\n')
+ logger.info("Created %s", self.pidfile)
def delpid(self):
+ logger.info("Removing %s", self.pidfile)
os.remove(self.pidfile)
def start(self):
@@ -180,6 +189,7 @@ class PubSubClient(Thread):
self.setDaemon(True)
def run(self):
+ logger.info("Watching %s", watching)
while True:
self.req = None
@@ -190,8 +200,9 @@ class PubSubClient(Thread):
else:
self.req = urllib2.urlopen(self.url, None, 30)
+ logger.info("Connected to %s", self.url)
except:
-
+ logger.warn("Failed to connect to %s", self.url)
time.sleep(30)
continue
@@ -229,8 +240,10 @@ class PubSubClient(Thread):
print("Matched 'r" + str(revision) + "'; would run 'svn up " + filePath + "'")
else:
time.sleep(3)
+ logger.info("svn up %s", filePath)
subprocess.call(['svn','up', filePath])
else:
+ logger.debug("Did not match 'r" + str(revision) + "' against ' " + str(watching.keys()) + "'")
if debug:
print("Did not match 'r" + str(revision) + "' against ' " + str(watching.keys()) + "'")
@@ -278,7 +291,7 @@ def main():
try:
time.sleep(60)
except KeyboardInterrupt:
- print("Detected shutdown interrupt")
+ logger.info("Detected shutdown interrupt")
pass
##############
@@ -304,7 +317,15 @@ def handle_args(args):
watching[args[i]] = set([args[i+1]])
if __name__ == "__main__":
- daemon = MyDaemon('/tmp/pubsubber.pid')
+ logger = logging.getLogger('pubsubber')
+ logger.setLevel(logging.INFO)
+ formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
+ ch = logging.StreamHandler()
+ ch.setFormatter(formatter)
+ logger.addHandler(ch)
+ logfile = os.environ.get('LOGFILE')
+ logger.info("LOGFILE=%s", logfile)
+ daemon = MyDaemon('/tmp/pubsubber.pid', logfile)
if len(sys.argv) >= 2:
if 'start' == sys.argv[1]:
handle_args(sys.argv[2:])
Modified: comdev/projects.apache.org/scripts/cronjobs/pubsubber.sh
URL: http://svn.apache.org/viewvc/comdev/projects.apache.org/scripts/cronjobs/pubsubber.sh?rev=1728844&r1=1728843&r2=1728844&view=diff
==============================================================================
--- comdev/projects.apache.org/scripts/cronjobs/pubsubber.sh (original)
+++ comdev/projects.apache.org/scripts/cronjobs/pubsubber.sh Sat Feb 6 15:03:13 2016
@@ -12,7 +12,7 @@ echo '>>>'
echo Starting $SCRIPT at $(date)
export
-ERRTEE=1 python3 -u $SCRIPT start \
+ERRTEE=1 LOGFILE=$LOGDIR/${BASE}_daemon.log python3 -u $SCRIPT start \
comdev/projects.apache.org /var/www/projects.apache.org/ \
comdev/reporter.apache.org /var/www/reporter.apache.org/