class TileBoxServer(object): def __init__(self, app_state): self.server = None self.app_state = app_state def is_running(self): return self.server and self.server.is_alive() def restart(self): if self.server: self.server.shutdown() if self.server: while self.server.is_alive(): self.server.shutdown() time.sleep(1) self.server = None if self.app_state.config.get('tilebox', 'path'): from geobox.lib.couchdb import CouchDBServerThread port = self.app_state.config.get_int('tilebox', 'port') erl_cmd = self.app_state.config.get('couchdb', 'erl_cmd') bin_dir = self.app_state.config.get('couchdb', 'bin_dir') data_dir = self.app_state.config.get('tilebox', 'path') self.server = CouchDBServerThread(self.app_state, host='127.0.0.1', port=port, erl_cmd=erl_cmd, bin_dir=bin_dir, data_dir=data_dir) self.server.start()
def couchdb_server_thread(app_state): """CouchDB background thread""" from geobox.lib.couchdb import CouchDBServerThread host = app_state.config.get('app', 'host') port = app_state.config.get_int('couchdb', 'port') erl_cmd = app_state.config.get('couchdb', 'erl_cmd') bin_dir = app_state.config.get('couchdb', 'bin_dir') if app_state.config.has_option('couchdb', 'data_dir'): data_dir = app_state.config.get('couchdb', 'data_dir') else: data_dir = app_state.user_data_path('storage', make_dirs=True) return CouchDBServerThread(app_state, host=host, port=port, data_dir=data_dir, erl_cmd=erl_cmd, bin_dir=bin_dir)
def restart(self): if self.server: self.server.shutdown() if self.server: while self.server.is_alive(): self.server.shutdown() time.sleep(1) self.server = None if self.app_state.config.get('tilebox', 'path'): from geobox.lib.couchdb import CouchDBServerThread port = self.app_state.config.get_int('tilebox', 'port') erl_cmd = self.app_state.config.get('couchdb', 'erl_cmd') bin_dir = self.app_state.config.get('couchdb', 'bin_dir') data_dir = self.app_state.config.get('tilebox', 'path') self.server = CouchDBServerThread(self.app_state, host='127.0.0.1', port=port, erl_cmd=erl_cmd, bin_dir=bin_dir, data_dir=data_dir) self.server.start()