Пример #1
0
    def run_notify(self, socket_path, n, options):
        middleware = [FalconLabel(self.translations)]
        if options.with_metrics:
            middleware.append(FalconMetrics())
        if PROFILE_DIR and PROFILE_MODE == 'request':
            middleware.append(FalconRequestProfiler())
        backends = options.backends.split(',')
        app = grapi.API(options=options,
                        middleware=middleware,
                        backends=backends,
                        components=('notification', ))

        # Add our own exception handler and backend specific error handlers,
        # error handlers in falcon adhere to LIFO order, meaning our generic
        # exception handler should always be inserted first.
        handler = partial(error_handler, with_metrics=options.with_metrics)
        app.add_error_handler(Exception, handler)
        app.initialize_backends_error_handlers()

        unix_socket_path = os.path.join(socket_path, 'notify%d.sock' % n)

        # Run server, this blocks.
        logging.debug('starting notify %d worker (unix:%s) with pid %d', n,
                      unix_socket_path, os.getpid())
        bjoern.server_run(self.create_socket_and_listen(unix_socket_path), app)
Пример #2
0
    def run_notify(self, socket_path, n, options):
        middleware = [FalconLabel(self.translations)]
        if options.with_metrics:
            middleware.append(FalconMetrics())
        if PROFILE_DIR and PROFILE_MODE == 'request':
            middleware.append(FalconRequestProfiler())
        backends = options.backends.split(',')
        app = grapi.NotifyAPI(options=options,
                              middleware=middleware,
                              backends=backends)
        handler = partial(error_handler, with_metrics=options.with_metrics)
        app.add_error_handler(Exception, handler)
        unix_socket_path = os.path.join(socket_path, 'notify%d.sock' % n)

        # Run server, this blocks.
        logging.debug('starting notify %d worker (unix:%s) with pid %d', n,
                      unix_socket_path, os.getpid())
        bjoern.server_run(self.create_socket_and_listen(unix_socket_path), app)
Пример #3
0
    def run_rest(self, socket_path, n, options):
        middleware = [FalconLabel(self.translations)]
        if options.with_metrics:
            middleware.append(FalconMetrics())
        if WITH_CPROFILE and PROFILE_DIR:
            middleware.append(FalconRequestProfiler())
        backends = options.backends.split(',')
        app = grapi.API(options=options,
                        middleware=middleware,
                        backends=backends,
                        components=('directory', 'mail', 'calendar',
                                    'reminder'))
        handler = partial(error_handler, with_metrics=options.with_metrics)
        app.add_error_handler(Exception, handler)
        unix_socket_path = os.path.join(socket_path, 'rest%d.sock' % n)

        # Run server, this blocks.
        logging.debug('starting rest %d worker (unix:%s) with pid %d', n,
                      unix_socket_path, os.getpid())
        bjoern.server_run(self.create_socket_and_listen(unix_socket_path), app)
from werkzeug.debug import DebuggedApplication
application = DebuggedApplication(application,
                                  evalex=True,
                                  pin_security=True,
                                  pin_logging=True)
application.debug = True

# bjoern.run(application, 'unix:/data/sockets/bjoern-mhackspace.sock')
#https://stackoverflow.com/questions/46301706/bjoern-wsgi-server-unix-socket-permissions

# class ReloadApplicationMiddleware(object):
#     def __call__(self, *args, **kwargs):
#         print('Reloading...')
#         self.app = self.import_func()
#         return self.app(*args, **kwargs)

# application = ReloadApplicationMiddleware(application)

socket_path = '/data/sockets/bjoern-mhackspace.sock'
if os.path.exists(socket_path):
    os.unlink(socket_path)
sock = socket.socket(socket.AF_UNIX)
sock.bind(socket_path)
sock.listen(1024)
os.chmod(socket_path, 0o666)
try:
    bjoern.server_run(sock, application)
except KeyboardInterrupt:
    os.unlink(sock.getsockname())
    sock.close()
Пример #5
0
 def serve_forever(self):
     bjoern.server_run(self.sock, self.app)
Пример #6
0
 def serve_forever(self):
     bjoern.server_run(self.sock, self.app)
Пример #7
0
 def serve_forever(self):
     """
     Run server.
     """
     bjoern.server_run(self.socket, self.application)
Пример #8
0
 def serve_forever(self):
     """
     Run server.
     """
     bjoern.server_run(self.socket, self.application)