def setUp(self): import arrayserver.server.tests testroot = os.path.abspath( os.path.dirname(arrayserver.server.tests.__file__)) self.hdfpath = os.path.join(testroot, 'data', 'random.hdf5') self.numpypath = os.path.join(testroot, 'data', 'test.npy') self.pandaspath = os.path.join(testroot, 'data', 'pandas.hdf5') with tables.openFile(self.hdfpath) as f: self.hdf5data_a = f.getNode('/a')[:] self.hdf5data_b = f.getNode('/a')[:] sourceconfig = [{ 'prefix': '/arrayserver/data', 'type': 'native', 'paths': [os.path.join(testroot, 'data')] }] servername = 'myserver' self.redisproc = redisutils.RedisProcess(9000, '/tmp', save=False) wait_for_redis(9000) self.config = arrayserverconfig.ArrayServerConfig( servername, port=9000, sourceconfig=sourceconfig) broker = ArrayServerBroker(frontaddr, backaddr, self.config, timeout=100.0) broker.start() self.broker = broker rpcserver = ArrayServerNode(backaddr, 'testnodeident', self.config, interval=100.0) rpcserver.start() self.rpcserver = rpcserver wait_until(lambda: len(broker.nodes) > 1)
def main(): parser = argparse.ArgumentParser( description='Start a ArrayServer Array Node process.') parser.add_argument('-v', '--verbose', help='increase output verbosity', action='store_true') parser.add_argument('-i', '--identity', help='node identity', default='TEST') parser.add_argument('-a', '--address', help='specify the broker address', default='127.0.0.1') parser.add_argument('-p', '--port', help='specify broker port', type=int, default=5002) parser.add_argument('-c', '--configdir', help='specify the config directory', default='.') args = parser.parse_args() log_level = logging.INFO if not args.verbose else logging.DEBUG logging.basicConfig(level=log_level) log = logging.getLogger(__name__) pathmap = shelve.open('%s/pathmap.db' % args.configdir, 'c') reversemap = shelve.open('%s/reversemap.db' % args.configdir, 'c') config = ArrayServerConfig(pathmap, reversemap) node = ArrayServerNode('tcp://%s:%d' % (args.address, args.port), args.identity, config) node.run()