def start(self, worker): log_prefix = '| {0}: {1}'.format(type(worker).__name__, self.label) if not self.enabled: logger.debug('{0}: enabled={1}'.format(log_prefix, self.enabled)) return if not self.logdir: raise ValueError('--logging-server-logdir must be supplied') if os.name == 'nt': self.socket_url = 'tcp://127.0.0.1:{0}'.format( server.get_unused_port()) else: suffix = '%05x' % random.randrange(16 ** 5) self.socket_url = ('ipc://{0}/cloudify-logging-server-{1}.socket' .format(tempfile.gettempdir(), suffix)) if not os.path.exists(self.logdir): os.makedirs(self.logdir) self.logging_server = ZMQLoggingServer(socket_url=self.socket_url, logdir=self.logdir, cache_size=self.cache_size) self.thread = threading.Thread(target=self.logging_server.start) self.thread.start() logger.debug('{0}: enabled={1}, logdir={2}, socket_url={3}' .format(log_prefix, self.enabled, self.logdir, self.socket_url))
def test_run_script_ctx_server_port(self): from cloudify.proxy import server expected_port = server.get_unused_port() return_value, _ = self._execute( 'test.run_script', script_path='scripts/script.sh', process={ 'env': { 'test_operation': self._testMethodName }, 'ctx_server_port': expected_port }) self.assertIn(':{0}'.format(expected_port), return_value)
def test_run_script_ctx_server_port(self): from cloudify.proxy import server expected_port = server.get_unused_port() return_value, _ = self._execute('test.run_script', script_path='scripts/script.sh', process={ 'env': { 'test_operation': self._testMethodName }, 'ctx_server_port': expected_port }) self.assertIn(':{0}'.format(expected_port), return_value)
def server(self, routes): port = get_unused_port() app = bottle.app() for route, handler in routes.items(): method = 'GET' if isinstance(route, tuple): route, method = route route = '/api/{0}/{1}'.format(DEFAULT_API_VERSION, route) app.route(route, method=method)(self.ServerHandlerWrapper(handler)) app.route('/ping')(lambda: {}) p = multiprocessing.Process(target=lambda: app.run(port=port, quiet=True)) p.start() for _ in range(100): try: requests.get('http://localhost:{}/ping'.format(port)) break except requests.RequestException: time.sleep(0.1) else: self.fail('Failed starting server.') self.addCleanup(lambda: (p.terminate(), p.join())) return port
def server(self, routes): port = get_unused_port() app = bottle.app() for route, handler in routes.items(): method = 'GET' if isinstance(route, tuple): route, method = route route = '/api/{0}/{1}'.format(DEFAULT_API_VERSION, route) app.route(route, method=method)(self.ServerHandlerWrapper(handler)) app.route('/ping')(lambda: {}) p = multiprocessing.Process( target=lambda: app.run(port=port, quiet=True)) p.start() for _ in range(100): try: requests.get('http://localhost:{}/ping'.format(port)) break except requests.RequestException: time.sleep(0.1) else: self.fail('Failed starting server.') self.addCleanup(lambda: (p.terminate(), p.join())) return port
def start(self, worker): log_prefix = '| {0}: {1}'.format(type(worker).__name__, self.label) if not self.enabled: logger.debug('{0}: enabled={1}'.format(log_prefix, self.enabled)) return if not self.logdir: raise ValueError('--logging-server-logdir must be supplied') if os.name == 'nt': self.socket_url = 'tcp://127.0.0.1:{0}'.format( server.get_unused_port()) else: suffix = '%05x' % random.randrange(16**5) self.socket_url = ( 'ipc://{0}/cloudify-logging-server-{1}.socket'.format( tempfile.gettempdir(), suffix)) if not os.path.exists(self.logdir): os.makedirs(self.logdir) self.logging_server = ZMQLoggingServer(socket_url=self.socket_url, logdir=self.logdir, cache_size=self.cache_size) self.thread = threading.Thread(target=self.logging_server.start) self.thread.start() logger.debug('{0}: enabled={1}, logdir={2}, socket_url={3}'.format( log_prefix, self.enabled, self.logdir, self.socket_url))