예제 #1
0
def main():
    objects.register_all()
    CONF(sys.argv[1:], project='<project_name>',
         version=version.version_string())
    logging.setup(CONF, "<project_name>")
    LOG = logging.getLogger('<project_name>.all')

    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version)

    rpc.init(CONF)

    launcher = service.process_launcher()
    # <project_name>-api
    try:
        server = service.WSGIService('osapi_<project_name>')
        launcher.launch_service(server, workers=server.workers or 1)
    except (Exception, SystemExit):
        LOG.exception(_LE('Failed to load osapi_<project_name>'))

    # <project_name>-<manager_service_name>
    try:
        launcher.launch_service(service.Service.create(binary="<project_name>-<manager_service_name>"))
    except (Exception, SystemExit):
        LOG.exception(_LE('Failed to load <project_name>-<manager_service_name>'))

    launcher.wait()
예제 #2
0
 def test_service_random_port(self):
     with mock.patch.object(wsgi.Loader, 'load_app') as mock_load_app:
         test_service = service.WSGIService("test_service")
         self.assertEqual(0, test_service.port)
         test_service.start()
         self.assertNotEqual(0, test_service.port)
         test_service.stop()
         self.assertTrue(mock_load_app.called)
예제 #3
0
def main():
    objects.register_all()
    CONF(sys.argv[1:], project='<project_name>',
         version=version.version_string())
    logging.setup(CONF, "<project_name>")
    utils.monkey_patch()

    gmr.TextGuruMeditation.setup_autorun(version)

    rpc.init(CONF)
    launcher = service.process_launcher()
    server = service.WSGIService('osapi_<project_name>')
    launcher.launch_service(server, workers=server.workers)
    launcher.wait()
예제 #4
0
    def test_reset_pool_size_to_default(self):
        with mock.patch.object(wsgi.Loader, 'load_app') as mock_load_app:
            test_service = service.WSGIService("test_service")
            test_service.start()

            # Stopping the service, which in turn sets pool size to 0
            test_service.stop()
            self.assertEqual(0, test_service.server._pool.size)

            # Resetting pool size to default
            test_service.reset()
            test_service.start()
            self.assertEqual(1000, test_service.server._pool.size)
            self.assertTrue(mock_load_app.called)
예제 #5
0
 def test_workers_set_zero_user_setting(self, wsgi_server):
     self.override_config('osapi_<project_name>_workers', 0)
     test_service = service.WSGIService("osapi_<project_name>")
     # If a value less than 1 is used, defaults to number of procs available
     self.assertEqual(processutils.get_worker_count(), test_service.workers)
예제 #6
0
 def test_workers_set_good_user_setting(self, wsgi_server):
     self.override_config('osapi_<project_name>_workers', 8)
     test_service = service.WSGIService("osapi_<project_name>")
     self.assertEqual(8, test_service.workers)
예제 #7
0
 def test_workers_set_default(self, wsgi_server):
     test_service = service.WSGIService("osapi_<project_name>")
     self.assertEqual(processutils.get_worker_count(), test_service.workers)