def build_manhole(app, namespace=None, add_defaults=True): if not settings.DEBUG: logger.debug("don't create manhole server - production mode") return import twisted import twoost from twoost.manhole import ManholeService, ServiceScanner workerid = app.workerid socket_file = os.path.join(settings.MANHOLE_SOCKET_DIR, workerid) mkdir_p(os.path.dirname(socket_file)) namespace = dict(namespace or {}) if add_defaults: namespace.update({ 'app': app, 'ss': ServiceScanner(app), 'twoost': twoost, 'twisted': twisted, 'settings': settings, 'workerid': workerid, }) logger.info("serve shell on %r socket", socket_file) return attach_service(app, ManholeService(socket_file, namespace), "manhole")
def build_manhole(app, namespace=None): if not settings.DEBUG: logger.debug("don't create manhole server - production mode") return import twisted from twoost.manhole import AnonymousShellFactory from twisted.application.internet import UNIXServer workerid = app.workerid socket_file = os.path.join(settings.MANHOLE_SOCKET_DIR, workerid) mkdir_p(os.path.dirname(socket_file)) namespace = dict(namespace or {}) if not namespace: namespace.update({ 'twisted': twisted, 'app': app, 'settings': settings, }) f = AnonymousShellFactory(namespace) logger.info("serve shell on %r socket", socket_file) # only '0600' mode allowed here! ss = UNIXServer(address=socket_file, factory=f, mode=0600, wantPID=1) return attach_service(app, ss)
def build_web(app, site, prefix=None, endpoint=None): from twoost import web logger.debug("build web service") endpoint = endpoint or settings.WEB_ENDPOINT if endpoint.startswith("unix:"): filename = endpoint[5:] mkdir_p(os.path.dirname(filename)) site = web.buildSite(site, prefix) return build_server(app, site, endpoint, 'web')
def build_web(app, site, prefix=None, endpoint=None): from twoost import web logger.debug("build web service") endpoint = endpoint or settings.WEB_ENDPOINT if endpoint.startswith("unix:"): filename = endpoint[5:] mkdir_p(os.path.dirname(filename)) site = web.buildSite(site, prefix) return build_server(app, site, endpoint)
def build_health(app): from twoost.health import HealthCheckService mode = settings.HEALTHCHECK_SOCKET_MODE workerid = app.workerid socket_file = os.path.join(settings.HEALTHCHECK_SOCKET_DIR, workerid) mkdir_p(os.path.dirname(socket_file)) logger.debug("serve health checker on %r socket", socket_file) return attach_service( app, HealthCheckService(socket_file, app, mode=mode, wantPID=1))
def build_health(app): from twoost.health import HealthCheckFactory from twisted.application.internet import UNIXServer mode = settings.HEALTHCHECK_SOCKET_MODE workerid = app.workerid socket_file = os.path.join(settings.HEALTHCHECK_SOCKET_DIR, workerid) mkdir_p(os.path.dirname(socket_file)) fct = HealthCheckFactory(app) logger.debug("serve health checker on %r socket", socket_file) ss = UNIXServer(address=socket_file, factory=fct, mode=mode, wantPID=1) return attach_service(app, ss)
def setUp(self): td = os.environ['TEST_TMP_DIR'] = self.mktemp() mkdir_p(td)
def setUp(self): td = os.environ['TEST_TMP_DIR'] = self.mktemp() mkdir_p(td)