Changeset 381


Ignore:
Timestamp:
07/06/10 09:45:47 (10 years ago)
Author:
sander
Message:

Add Debian init.d script and signal handlers for use with start-stop-daemon

Location:
trunk/factory
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/factory/conf/config.default.ini

    r379 r381  
    88log_format = %(asctime)s %(levelname)s: %(message)s 
    99 
     10daemon = true 
    1011pidfile = /var/run/officeshots.pid 
    1112 
  • trunk/factory/src/daemon.py

    r379 r381  
    11#!/usr/bin/env python 
    22 
    3 import sys, os, time, atexit 
     3import sys, os, time, signal 
    44from signal import SIGTERM  
    55 
     
    5757         
    5858                # write pidfile 
    59                 atexit.register(self.delpid) 
    6059                pid = str(os.getpid()) 
    6160                file(self.pidfile,'w+').write("%s\n" % pid) 
     61 
     62                # Install signal handler 
     63                signal.signal(signal.SIGTERM, self.sigterm) 
     64                signal.signal(signal.SIGHUP, self.sighup) 
    6265         
    63         def delpid(self): 
     66        def sigterm(self, signum, frame): 
     67                """ 
     68                Handle SIGTERN 
     69                """ 
    6470                os.remove(self.pidfile) 
     71                sys.exit() 
     72         
     73        def sighup(self, signum, frame): 
     74                """ 
     75                Handle SIGHUP 
     76                """ 
     77                pass 
    6578 
    6679        def start(self): 
  • trunk/factory/src/factory.py

    r380 r381  
    257257                return True 
    258258 
     259        def sigterm(self, signum, frame): 
     260                logging.info('Stopping factory server.') 
     261                Daemon.sigterm(self, signum, frame) 
     262 
    259263 
    260264        def run(self): 
     
    266270                        while self.loop(): 
    267271                                pass 
     272                except SystemExit, e: 
     273                        pass 
    268274                except: 
    269275                        logging.critical(traceback.format_exc()) 
Note: See TracChangeset for help on using the changeset viewer.