def daemonize(self, args): log.setup(self.log_file) log.info("Daemonizing.") self.before_daemonize(args) if unix.still_running(self.name, pid_file_path=self.pid_path): log.error("%s still running. Aborting." % self.name) sys.exit(1) else: unix.daemonize(self.name, pid_file_path=self.pid_path) def shutdown_handler(signal, frame): self.shutdown(signal) sys.exit(0) unix.register_shutdown(shutdown_handler) self.before_jail(args) log.info("Setting up the chroot jail to: %s" % self.run_dir) unix.chroot_jail(self.run_dir) self.before_drop_privs(args) unix.drop_privileges(uid_name=self.uid, gid_name=self.gid) log.info("Server %s running." % self.name) self.start(args)
def test_setup(*calls): log.setup("tests/test.log") # weird but 0 is os_close, and we want to force an exception calls[0].side_effect = OSError # confirm the last three in the @path list are called for i in calls[0:3]: assert_true(i.called, "Did not call %r" % i)
def test_setup(*calls): log.setup("tests/test.log") # weird but 0 is os_close, and we want to force an exception calls[0].side_effect=OSError # confirm the last three in the @path list are called for i in calls[0:3]: assert_true(i.called, "Did not call %r" % i)
def daemonize(self, args): log.setup(self.log_file) log.info("Daemonizing.") self.before_daemonize(args) if unix.still_running(self.name, pid_file_path=self.pid_path): log.error("%s still running. Aborting." % self.name) sys.exit(1) else: unix.daemonize(self.name, pid_file_path=self.pid_path) def shutdown_handler(signal, frame): self.shutdown(signal) sys.exit(0) unix.register_shutdown(shutdown_handler) if not os.path.exists(self.run_dir): log.warn("Directory %s does not exist, attempting to create it." % self.run_dir) os.mkdir(self.run_dir) log.info( "Giving default permissions to %s, change them later if you need." % self.run_dir) os.chown(self.run_dir, self.unum, self.gnum) os.chmod(self.run_dir, self.run_dir_mode) if self.should_jail: self.before_jail(args) log.info("Setting up the chroot jail to: %s" % self.run_dir) unix.chroot_jail(self.run_dir) else: log.warn("This daemon does not jail itself, chdir to %s instead" % self.run_dir) os.chdir(self.run_dir) if self.should_drop_priv: self.before_drop_privs(args) unix.drop_privileges(self.unum, self.gnum) else: log.warn("This daemon does not drop privileges.") log.info("Server %s running." % self.name) self.start(args)
def daemonize(self, args): log.setup(self.log_file) log.info("Daemonizing.") self.before_daemonize(args) if unix.still_running(self.name, pid_file_path=self.pid_path): log.error("%s still running. Aborting." % self.name) sys.exit(1) else: unix.daemonize(self.name, pid_file_path=self.pid_path) def shutdown_handler(signal, frame): self.shutdown(signal) sys.exit(0) unix.register_shutdown(shutdown_handler) if not os.path.exists(self.run_dir): log.warn("Directory %s does not exist, attempting to create it." % self.run_dir) os.mkdir(self.run_dir) log.info("Giving default permissions to %s, change them later if you need." % self.run_dir) os.chown(self.run_dir, self.unum, self.gnum) os.chmod(self.run_dir, self.run_dir_mode) if self.should_jail: self.before_jail(args) log.info("Setting up the chroot jail to: %s" % self.run_dir) unix.chroot_jail(self.run_dir) else: log.warn("This daemon does not jail itself, chdir to %s instead" % self.run_dir) os.chdir(self.run_dir) if self.should_drop_priv: self.before_drop_privs(args) unix.drop_privileges(self.unum, self.gnum) else: log.warn("This daemon does not drop privileges.") log.info("Server %s running." % self.name) self.start(args)
def main(): """This will exit the daemon after 4 seconds.""" log.setup('/tmp/test_daemonize_no_exit.log', force=True) for i in range(0, 4): log.info("I ran!") time.sleep(1)
self.server = None # this gets the last one to do a forever on for port in self.ports: self.server = StreamServer((self.host, port), handle) self.server.start() def start(self, args): self.server.serve_forever() def shutdown(self, signal): log.info("Shutting down now signal: %d" % signal) if __name__ == "__main__": log.setup('/tmp/geventserver.log') server = Service(config_file=os.getcwd() + '/examples/master.conf') server.run(sys.argv) ########NEW FILE######## __FILENAME__ = thread_server import threading import SocketServer import sys from lust import log, server class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): allow_reuse_address = True def handle(self):
def run(args, config_file, config_name): service = Service(config_file=config_file) log.setup(service.get('log_file')) service.run(args)
class Service(server.Simple): name = "geventserver" def before_jail(self, args): from gevent.server import StreamServer self.host = self.config.get("geventserver.host", "0.0.0.0") self.ports = (int(x) for x in self.config["geventserver.ports"].split()) log.info("Listening ports %r" % self.ports) self.server = None # this gets the last one to do a forever on for port in self.ports: self.server = StreamServer((self.host, port), handle) self.server.start() def start(self, args): self.server.serve_forever() def shutdown(self, signal): log.info("Shutting down now signal: %d" % signal) if __name__ == "__main__": log.setup("/tmp/geventserver.log") server = Service(config_file=os.getcwd() + "/examples/master.conf") server.run(sys.argv)
self.server = None # this gets the last one to do a forever on for port in self.ports: self.server = StreamServer((self.host, port), handle) self.server.start() def start(self, args): self.server.serve_forever() def shutdown(self, signal): log.info("Shutting down now signal: %d" % signal) if __name__ == "__main__": log.setup('/tmp/geventserver.log') server = Service(config_file=os.getcwd() + '/examples/master.conf') server.run(sys.argv) ########NEW FILE######## __FILENAME__ = thread_server import threading import SocketServer import sys from lust import log, server class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler): allow_reuse_address = True
def callme(): log.setup('/tmp/test_daemonize_no_exit.log') for i in range(0, 3): log.info("I ran!") time.sleep(1)
import sys from lust import log from . import Service, Carbon from tornado.ioloop import IOLoop if __name__ == "__main__": if '--debug' in sys.argv: server = Carbon() server.listen(2003) IOLoop.instance().start() else: log.setup('/tmp/carbon.log') server = Service() server.run(sys.argv)
import sys from lust import log from . import Service, Carbon from tornado.ioloop import IOLoop if __name__ == "__main__": if '--debug' in sys.argv: server =Carbon() server.listen(2003) IOLoop.instance().start() else: log.setup('/tmp/carbon.log') server = Service() server.run(sys.argv)