Пример #1
0
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")
Пример #2
0
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)
Пример #3
0
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')
Пример #4
0
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)
Пример #5
0
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))
Пример #6
0
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)
Пример #7
0
 def setUp(self):
     td = os.environ['TEST_TMP_DIR'] = self.mktemp()
     mkdir_p(td)
Пример #8
0
 def setUp(self):
     td = os.environ['TEST_TMP_DIR'] = self.mktemp()
     mkdir_p(td)