def makeService(self, opts): from carchive.a2aproxy.resource import buildResource from carchive.util import LimitedSite, LimitedTCPServer L = logging.INFO if opts['debug']: L = logging.DEBUG handle = Log2Twisted() handle.setFormatter( logging.Formatter("%(levelname)s:%(name)s %(message)s")) root = logging.getLogger() root.addHandler(handle) root.setLevel(L) serv = service.MultiService() fact = LimitedSite(buildResource(opts['appl'])) serv.addService( LimitedTCPServer(opts['port'], fact, interface=opts['ip'])) if ShellFactory and opts['manhole']: print 'Opening Manhole' SF = ShellFactory() SS = TCPServer(opts['manhole'], SF, interface='127.0.0.1') # populate manhole shell locals SF.namespace['site'] = fact serv.addService(SS) else: print 'No Manhole' return serv
def makeService(self, opts): from carchive._conf import ConfigDict from carchive.archmiddle.proxy import buildResource from carchive.archmiddle.info import InfoCache, KeyNameMap server = ConfigDict(opts['config'], 'server') mapping = ConfigDict(opts['config'], 'mapping') handle = Log2Twisted() handle.setFormatter(logging.Formatter("%(message)s")) root = logging.getLogger() root.addHandler(handle) root.setLevel(server.getint('log.level', logging.INFO)) # turn down the noise level... CRL = logging.getLogger('carchive.rpcmunge') if CRL.isEnabledFor(logging.DEBUG): CRL.setLevel(logging.INFO) mservice = service.MultiService() _M = [] for k, v in mapping.iteritems(): v = v.split() _M.append((k, int(v[0]), v[1:])) KM = KeyNameMap(_M) info = InfoCache(server['url'], KM) root, leaf = buildResource(info, reactor) fact = Site(root) info.pvlimit = server.getint('cache.limit', 500) info.timeout = server.getfloat('cache.timeout', 3600) mservice.addService( TCPServer(server.getint('port'), fact, interface=server.get('interface', ''))) if ShellFactory and server.getint('manhole.port', 0): print 'Opening Manhole' SF = ShellFactory() SS = TCPServer(server.getint('manhole.port', 0), SF, interface='127.0.0.1') # populate manhole shell locals SF.namespace['site'] = fact SF.namespace['node'] = leaf SF.namespace['info'] = info mservice.addService(SS) else: print 'No Manhole' return mservice
def makeService(self, options): """ Construct a TCPServer from a factory defined in myproject. """ s = MultiService() irp = internet.TCPServer(int(options["port"]), IRPServerFactory()) irp.setServiceParent(s) manholeFactory = ShellFactory() manholeFactory.username = "******" manholeFactory.password = "******" manholeFactory.namespace["foo"] = 12 manholeService = internet.TCPServer(8000, manholeFactory) manholeService.setServiceParent(s) return s
reactor.addSystemEventTrigger('before', 'shutdown', beforeandaftershutdown, 'Before') reactor.addSystemEventTrigger('during', 'shutdown', beforeandaftershutdown, 'During') reactor.addSystemEventTrigger('after', 'shutdown', beforeandaftershutdown, 'After') if config.rpc_enabled: internet.TCPServer( config.rpc_port, server.Site(s.getRPC()), interface="127.0.0.1").setServiceParent(serviceCollection) if config.statsd: from bnw.core import statsd hostport = config.statsd.split(':',1) statsd.setup(hostport[0], int(hostport[1])) if config.manhole: shell_factory = ShellFactory() shell_factory.password = config.manhole shell_tcp_server = internet.TCPServer(4040, shell_factory, interface="127.0.0.1") shell_tcp_server.setServiceParent(serviceCollection) if config.webui_enabled: import bnw.web.site http_server = bnw.web.site.get_site() http_server.listen(config.webui_port, "127.0.0.1") bnw.core.base.timertime = 0 def checkload(lasttime): currenttime = time() if lasttime is not None: bnw.core.base.timertime = currenttime - lasttime reactor.callLater(1, checkload, currenttime)
syslog_conf = (syslog_conf[0], int(syslog_conf[1])) else: syslog_conf = syslog_conf[0] init_logger( syslog_conf ) ''' from server import Server from datetime import datetime server = Server() reactor.addSystemEventTrigger('before', 'shutdown', server.cleanup) application = service.Application(SERVER_NAME) log_path = config.log_path log_rotate = int(config.log_rotate_interval) logfile = LogFile('message.log', log_path, rotateLength=log_rotate) logOb = FileLogObserver(logfile) logOb.formatTime = lambda when: datetime.fromtimestamp(when).strftime( '%m/%d %T.%f') application.setComponent(ILogObserver, logOb.emit) internet.TCPServer(config.port, server, interface=config.interface).setServiceParent( service.IServiceCollection(application)) internet.TCPServer(config.adminport, ShellFactory(), interface=config.interface).setServiceParent( service.IServiceCollection(application))
from server import Server from web.server import process from datetime import datetime server = Server() httpserver = http.HTTPFactory() httpserver.protocol().requestFactory.process = process #httpserver.protocol.requestFactory.process = process reactor.addSystemEventTrigger('before', 'shutdown', server.cleanup) application = service.Application(SERVER_NAME) log_path = config.log_path log_rotate = int(config.log_rotate_interval) logfile = LogFile('gateway.log', log_path, rotateLength=log_rotate) logOb = FileLogObserver(logfile) logOb.formatTime = lambda when: datetime.fromtimestamp(when).strftime( '%m/%d %T.%f') application.setComponent(ILogObserver, logOb.emit) internet.TCPServer(config.port, server, backlog=500).setServiceParent( service.IServiceCollection(application)) internet.TCPServer(config.httport, httpserver).setServiceParent( service.IServiceCollection(application)) internet.TCPServer(config.adminport, ShellFactory(), interface='127.0.0.1').setServiceParent( service.IServiceCollection(application))
sys.setdefaultencoding('utf-8') from os.path import abspath, dirname, join, normpath PREFIX = normpath(dirname(abspath(__file__))) for path in (PREFIX, normpath(join(PREFIX, '../lib'))): if path not in sys.path: sys.path = [path] + sys.path import setting SERVER_NAME = 'GAMESERVER' import log log.init(setting.LOG_THRESHOLD) import redis redis.init(setting.REDIS_CONF) from server import Server from datetime import datetime server = Server() reactor.addSystemEventTrigger('before', 'shutdown', server.cleanup) application = service.Application(SERVER_NAME) logfile = LogFile('game.log', join(PREFIX, '../logs'), rotateLength=setting.LOG_ROTATE_INTERVAL) logOb = FileLogObserver(logfile) logOb.formatTime = lambda when : datetime.fromtimestamp(when).strftime('%m/%d %T.%f') application.setComponent( ILogObserver, logOb.emit ) internet.TCPServer(setting.GAMESERVER['port'], server, interface=setting.GAMESERVER['hostname']).setServiceParent(service.IServiceCollection(application)) internet.TCPServer(setting.GAMESERVER['adminport'], ShellFactory(), interface=setting.GAMESERVER['hostname']).setServiceParent(service.IServiceCollection(application))