def restoreCurrentPop(popHolder, cur_iter, throw=False): """ GET current working population """ try: connection = httplib.HTTPConnection(gae_config.getServerURL()) connection.request('GET', '/get/pop/') result = connection.getresponse() data = result.read() if result.status == 200: decoded = json.loads(data) print 'Received working population: %d' % len(decoded['pop']) popHolder.pop = np.array(decoded['pop']) popHolder.vals = np.array(decoded['vals']) popHolder.cur_iter = cur_iter #set best individual best_ix = np.argmin(popHolder.vals) popHolder.best_x = popHolder.pop[best_ix, :].copy() popHolder.best_y = popHolder.vals[best_ix].copy() return True else: raise Exception("ERROR http status = "+str(result.status)) except Exception as ex: if throw: raise ex else: print ex finally: connection.close() return False
def getVMs(): vms = [] try: connection = httplib.HTTPConnection(gae_config.getServerURL()) connection.request('GET', '/get/vms/') result = connection.getresponse() data = result.read() if result.status == 200: decoded = json.loads(data) if decoded.has_key('vms'): count_vms = len(decoded['vms']) print 'count vms: '+str(count_vms) for vm in decoded['vms']: temp = VM(**vm) vms.append(temp) # print vm else: print "ERROR http status = "+str(result.status) except Exception as ex: print ex finally: connection.close() return vms
def getNextJob(): # GET single job job = None try: connection = httplib.HTTPConnection(gae_config.getServerURL()) connection.request('GET', '/get/job/') result = connection.getresponse() data = result.read() if result.status == 200: decoded = json.loads(data) if decoded.has_key('jobs'): count_jobs = len(decoded['jobs']) print 'count jobs: '+str(count_jobs) for j in decoded['jobs']: job = Job(**j) # print job break else: print "ERROR http status = "+str(result.status) except Exception as ex: print ex finally: connection.close() return job
def getJobs(throw=False): # GET jobs jobs = [] try: connection = httplib.HTTPConnection(gae_config.getServerURL()) connection.request('GET', '/get/jobs/') result = connection.getresponse() data = result.read() if result.status == 200: decoded = json.loads(data) if decoded.has_key('jobs'): count_jobs = len(decoded['jobs']) print 'count jobs: '+str(count_jobs) for job in decoded['jobs']: temp = Job(**job) jobs.append(temp) # print job else: raise Exception("ERROR http status = "+str(result.status)) except Exception as ex: if throw: raise ex else: print ex finally: connection.close() return jobs
def putVMs(vms): # HTTP PUT VM's try: connection = httplib.HTTPConnection(gae_config.getServerURL()) body_content = json.dumps({ 'vms': vms}, indent=2) headers = {"User-Agent": "python-httplib"} connection.request('PUT', '/put/vms/', body_content, headers) result = connection.getresponse() if result.status == 200: print 'PUT vms OK - HTTP 200' return True else: print result.status except: pass finally: connection.close() return False
def putJob(job): # HTTP PUT Job try: connection = httplib.HTTPConnection(gae_config.getServerURL()) body_content = json.dumps({ 'jobs': [job] }, indent=2, default=Job.serialize) headers = {"User-Agent": "python-httplib"} connection.request('PUT', '/put/job/', body_content, headers) result = connection.getresponse() if result.status == 200: print 'PUT jobs OK - HTTP 200' return True else: print result.status except: pass finally: connection.close() return False
def putPop(opt): """ Update current working population """ try: connection = httplib.HTTPConnection(gae_config.getServerURL()) body_content = json.dumps({ 'pop': opt.pop.tolist(), 'vals': opt.vals.tolist() }, indent=2) headers = {"User-Agent": "python-httplib"} connection.request('PUT', '/put/pop/', body_content, headers) result = connection.getresponse() if result.status == 200: print 'PUT pop OK - HTTP 200' return True else: print result.status except Exception as ex: print ex finally: connection.close() return False