Example #1
0
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)
Example #2
0
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:
Example #4
0
			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 )
Example #5
0
        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
Example #6
0
 def stop(self, server):
     daemon.stop()