def start_server(create_system, dbname, server_name=None, host=None, port=None): print("setting up system class with database", dbname) system = create_system() db = system.create_database(dbname) connect_manager = ConnectServer(system, db, server_name=server_name, host=host, port=port) if db.number_of_minima() == 0: print( "there are no minima in the database. Start a basinhopping run to generate minima" ) else: print("Working on %d minima" % db.number_of_minima()) print("to start searching for minima:") print(" python start_basinhopping_worker.py") print("to start connecting minima:") print(" python start_connect_worker.py") connect_manager.run()
def main(): parser = argparse.ArgumentParser(description="dispatcher queue") parser.add_argument("p", type=int, help="p-spin") parser.add_argument("nspins", type=int, help="number of spins") parser.add_argument("--server-name", type=str, help="name of the dispatcher",default=None) parser.add_argument("--host", type=str, help="address of the host (node on which the worker is started)",default=None) parser.add_argument("--port", type=int, help="port number on which the worker is started)",default=0) args = parser.parse_args() # set-up database nspins = args.nspins p = args.p dbname = "pspin_spherical_p{}_N{}.sqlite".format(p,nspins) print "setting up p={} N={} with database {}".format(p, nspins, dbname) # deal with existing database (if calculations has to be restarted) try: db, interactions = get_database_params_server(nspins, p) print "Warning: database {} already exists, using the already existing database".format(dbname) except IOError: db = None interactions = None system = create_system(nspins, p, interactions) if db is None: db = system.create_database(dbname) # start connect manager server_name = args.server_name if args.host is None: hostname = socket.gethostname() host = Pyro4.socketutil.getIpAddress(hostname, workaround127=True) else: host = args.host if args.port == 0: port = pick_unused_port() else: port = args.port connect_manager = ConnectServer(system, db, server_name=server_name, host=host, port=port) print "printing server uri..." uri = write_server_uri(server_name, host, port, nspins, p) print "done" if db.number_of_minima() == 0: print "there are no minima in the database. Start a basinhopping run to generate minima" else: print "Working on %d minima" % db.number_of_minima() print "to start searching for minima:" print " python start_basinhopping_worker.py" print "to start connecting minima:" print " python start_connect_worker.py" connect_manager.run()
def main(): print "setting up LJ38 with database lj38.sqlite" system = create_system() db = system.create_database("lj38.sqlite") connect_manager = ConnectServer(system, db, server_name=server_name, host=hostname, port=port) if db.number_of_minima() == 0: print "there are no minima in the database. Start a basinhopping run to generate minima" else: print "Working on %d minima" % db.number_of_minima() print "to start searching for minima:" print " python start_basinhopping_worker.py" print "to start connecting minima:" print " python start_connect_worker.py" connect_manager.run()
def start_server(create_system, dbname, server_name=None, host=None, port=None): print "setting up system class with database", dbname system = create_system() db = system.create_database(dbname) connect_manager=ConnectServer(system, db, server_name=server_name, host=host, port=port) if db.number_of_minima() == 0: print "there are no minima in the database. Start a basinhopping run to generate minima" else: print "Working on %d minima" % db.number_of_minima() print "to start searching for minima:" print " python start_basinhopping_worker.py" print "to start connecting minima:" print " python start_connect_worker.py" connect_manager.run()
def main(): parser = argparse.ArgumentParser(description="dispatcher queue") parser.add_argument("p", type=int, help="p-spin") parser.add_argument("nspins", type=int, help="number of spins") parser.add_argument("--server-name", type=str, help="name of the dispatcher", default=None) parser.add_argument( "--host", type=str, help="address of the host (node on which the worker is started)", default=None) parser.add_argument("--port", type=int, help="port number on which the worker is started)", default=0) args = parser.parse_args() #set-up database nspins = args.nspins p = args.p dbname = "pspin_spherical_p{}_N{}.sqlite".format(p, nspins) print "setting up p={} N={} with database {}".format(p, nspins, dbname) #deal with existing database (if calculations has to be restarted) try: db, interactions = get_database_params_server(dbname, nspins, p) print "Warning: database {} already exists, using the already existing database".format( dbname) except IOError: db = None interactions = None system = create_system(nspins, p, interactions) if db is None: db = system.create_database(dbname) #start connect manager server_name = args.server_name if args.host is None: hostname = socket.gethostname() host = Pyro4.socketutil.getIpAddress(hostname, workaround127=True) else: host = args.host if args.port == 0: port = pick_unused_port() else: port = args.port connect_manager = ConnectServer(system, db, server_name=server_name, host=host, port=port) print "printing server uri..." fname = 'server_uri_pspin_spherical_p{}_N{}.uri'.format(p, nspins) uri = write_server_uri(fname, server_name, host, port, nspins, p) print "done" if db.number_of_minima() == 0: print "there are no minima in the database. Start a basinhopping run to generate minima" else: print "Working on %d minima" % db.number_of_minima() print "to start searching for minima:" print " python start_basinhopping_worker.py" print "to start connecting minima:" print " python start_connect_worker.py" connect_manager.run()