def _after_init_common(self, server): """ Initializes parts of the server that don't depend on whether the server's been allowed to join the cluster or not. """ # Patterns to match during deployment self.service_store.patterns_matcher.read_config( self.fs_server_config.deploy_patterns_allowed) # Static config files self.static_config = StaticConfig( os.path.join(self.repo_location, 'static')) # Key-value DB kvdb_config = get_kvdb_config_for_log(self.fs_server_config.kvdb) kvdb_logger.info('Worker config `%s`', kvdb_config) self.kvdb.config = self.fs_server_config.kvdb self.kvdb.server = self self.kvdb.decrypt_func = self.crypto_manager.decrypt self.kvdb.init() kvdb_logger.info('Worker config `%s`', kvdb_config) # Lua programs, both internal and user defined ones. for name, program in self.get_lua_programs(): self.kvdb.lua_container.add_lua_program(name, program) # TimeUtil needs self.kvdb so it can be set now self.time_util = TimeUtil(self.kvdb) # Service sources self.service_sources = [] for name in open( os.path.join(self.repo_location, self.fs_server_config.main.service_sources)): name = name.strip() if name and not name.startswith('#'): if not os.path.isabs(name): name = os.path.normpath(os.path.join(self.base_dir, name)) self.service_sources.append(name) # User-config from ./config/repo/user-config for file_name in os.listdir(self.user_conf_location): conf = get_config(self.user_conf_location, file_name) # Not used at all in this type of configuration conf.pop('user_config_items', None) self.user_config[get_user_config_name(file_name)] = conf # Convert size of FIFO response buffers to megabytes self.fifo_response_buffer_size = int( float(self.fs_server_config.misc.fifo_response_buffer_size) * megabyte) is_first, locally_deployed = self.maybe_on_first_worker( server, self.kvdb.conn) return is_first, locally_deployed
def handle(self): input = self.request.input with self.lock('{}-{}-{}'.format(self.name, self.server.name, input.data)): with open( os.path.join(self.server.user_conf_location, input.file_name), 'wb') as f: f.write(input.data) conf = get_config(self.server.user_conf_location, input.file_name) entry = self.server.user_config.setdefault( get_user_config_name(input.file_name), Bunch()) entry.clear() entry.update(conf)