def minister(): parser = get_parser() options, args = parser.parse_args() if len(args) != 1: parser.print_usage() sys.exit(0) # Address ip, _, port = options.socket.partition(':') if port: port = int(port) address = (ip, port) # User if options.user: address = Manager.listen(address) set_process_owner(options.user) # Path path = args[0] if not os.path.exists(path): os.makedirs(path) # Handle Daemon Stoppping pidfile = os.path.join(path, 'minister.pid') if options.stop: if daemon.stop(pidfile): print "Minister stopped." sys.exit(0) else: sys.exit(1) elif options.restart: if daemon.stop(pidfile): print "Minister stopped." # Config config = get_config( os.path.join(path, 'config.json') ) config['path'] = path if options.debug: config['debug'] = True # Logging setup_logger( echo = options.verbose, path = os.path.join(path, 'logs/minister.log') ) # Daemon Start if options.start or options.restart: print "Minister daemon starting..." daemon.start(pidfile) # Start 'er up. manager = Manager(**config) atexit.register(manager.close) manager.serve(address)
def main(): if len(sys.argv) != 2: _print_usage_and_exit() action = sys.argv[1] if action == 'start': daemon.start() elif action == 'stop': daemon.stop() elif action == 'status': daemon.status() else: _print_usage_and_exit()
if __name__ == "__main__": daemon = FilterDaemon(socket_path=SOCKET_PATH, filters_dir=FILTERS_DIR, pidfile=PID_FILE) if len(sys.argv) != 2: print("Unknown command") sys.exit(2) if 'start' == sys.argv[1]: daemon.start() elif 'stop' == sys.argv[1]: daemon.stop() delete_socket_path(SOCKET_PATH) elif 'restart' == sys.argv[1]: daemon.stop() delete_socket_path(SOCKET_PATH) daemon.start() elif 'status' == sys.argv[1]: try: pf = file(PID_FILE, 'r') pid = int(pf.read().strip()) pf.close() except IOError: pid = None except SystemExit:
if not line.startswith( "data:" ): file.write( "F+ " + line + " E " + url + "\n" ) file.close() except Exception as e: sys.stderr.write( "ERROR: " + str( e ) + "\n" ) class ReceiveDaemon( Daemon ): def run( self ): connection = pika.BlockingConnection( pika.ConnectionParameters( HOST ) ) channel = connection.channel() channel.queue_declare( queue=QUEUE ) channel.basic_consume( callback, queue=QUEUE, no_ack=True ) channel.start_consuming() if __name__ == "__main__": daemon = ReceiveDaemon( "/tmp/daemon-example.pid" ) if len( sys.argv ) == 2: if "start" == sys.argv[ 1 ]: daemon.start() elif "stop" == sys.argv[ 1 ]: daemon.stop() elif "restart" == sys.argv[ 1 ]: daemon.restart() else: print "Unknown command" sys.exit( 2 ) sys.exit( 0 ) else: print "usage: %s start|stop|restart" % sys.argv[ 0 ] sys.exit( 2 )
elif o == "--parent-smtp-ip": parent_smtp_ip = a elif o == "--parent-smtp-port": parent_smtp_port = a elif o == "--relay-stmp-ip": relay_smtp_ip = a elif o == "--relay-smtp-port": relay_smtp_port = a elif o == "--try-resend": resend_timeout = a elif o == "--spool-path": spool_path = a elif o == "--workers": workers = int(a) elif o == "--stop": stop(PID_FILE) sys.exit(0) # For Client and sql for o, a in opts: if o in ("-h", "--help"): print """ -h, --help --send-test-mail --try-resend=SEC --parent-smtp-ip=IP --parent-smtp-port=PORT
def stop(self, server): daemon.stop()