Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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
Exemple #7
0
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