def main(): # Parse arguments args = parser.parse_args() sys.path.append(os.getcwd()) # Load config conf = args.configFile if conf[-3:] == '.py': conf = conf[:-3] print(conf) tConf = importlib.import_module(conf) # locate nameserver ns = PyroUtil.connectNameServer(nshost=tConf.nshost, nsport=tConf.nsport, hkey=tConf.hkey) # Run a daemon for jobMamager on this machine daemon = PyroUtil.runDaemon(host=tConf.daemonHost, port=tConf.jobManPort, nathost=tConf.nathost, natport=tConf.jobManNatport) # Run job manager on a serverdaemon, ns, appAPIClass, appName, portRange, # jobManWorkDir, serverConfigPath, serverConfigFile, jobMan2CmdPath, # maxJobs=1, jobMancmdCommPort=10000 jobMan = jb.SimpleJobManager2(daemon, ns, appAPIClass=tConf.applicationClass, appName=tConf.jobManName, portRange=tConf.jobManPortsForJobs, jobManWorkDir=tConf.jobManWorkDir, serverConfigPath=tConf.serverConfigPath, serverConfigFile=conf, jobMan2CmdPath=tConf.jobMan2CmdPath, maxJobs=tConf.jobManMaxJobs, jobMancmdCommPort=tConf.jobManSocket) # set up daemon with JobManager uri = daemon.register(jobMan) # register JobManager to nameServer ns.register(tConf.jobManName, uri) logger.debug("Daemon for JobManager runs at " + str(uri)) print(80 * '-') print("Started " + tConf.jobManName) # waits for requests daemon.requestLoop()