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()
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)
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()
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)
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)
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)
def test_workers_set_default(self, wsgi_server): test_service = service.WSGIService("osapi_<project_name>") self.assertEqual(processutils.get_worker_count(), test_service.workers)