Ejemplo n.º 1
0
def init_pop_crh(populationSize, popName= "pop"):

    server = Population(popName)
    server.initialize()
    for individual in range(populationSize):
        chrome = [random.randint(1,19),random.randint(10,30),random.randint(0,1),random.randint(0,1),random.randint(0,1),random.randint(0,1),random.randint(0,5),random.randint(0,1),random.randint(0,1),random.randint(0,1),random.randint(0,4),random.randint(0,1),random.randint(0,1),random.randint(0,2),random.randint(1,3)]
        individual = {"id":None,"fitness":{"DefaultContext":0.0 },"chromosome":chrome,"views":0}
        print individual
        server.put_individual(**individual)

    r = redis.StrictRedis(host='localhost', port=6379, db=0)
    redis_data = [eval(r.get(ind)) for ind in r.keys("pop:individual:*")]
    for ind in redis_data:
        #print len(redis_data)
        if ind["id"] != "":
            individual_node = Nodo()
            individual_node.create_nodo(element_type="individual",
                                        id=ind["id"],
                                        chromosome=ind["chromosome"],
                                        views=ind["views"])
    def put_sample(self, sample, **kwargs):
        print "77777777777777"
        print type(sample)
        if not isinstance(sample, dict):
            sample = json.loads(sample)

        #if r.exists(sample['sample_id']):
        #    if LOGGING:

        r.incr(self.returned_counter)

        #        if count % LOG_INTERVAL == 0 :
        #            r.sunionstore("log:"+str(count),"pop")

        print "hola"
        for member in sample['sample']:
            print "for member"
            if member['id'] is None:
                print "*********MEMBER**********"
                member['id'] = self.name + ":individual:%s" % r.incr(self.individual_counter)

                new_individual_node = Nodo()
                new_individual_node.create_nodo(element_type="individual",
                                                id=member["id"],
                                                chromosome=member["chromosome"],
                                                views=member["views"])

                print "*********MEMBER**********"
                print member

                # Verificar si el nodo individual existe
                id = member['id']
                individual_node_child = Graph_Individual()
                individual_node_child_result = individual_node_child.get_node(id)

                if individual_node_child_result:
                    nodo1 = node(individual_node_child_result[0][0])


                    if member['papa']:
                        print "====PAPA==="
                        id_dad = member['papa']
                        individual_node_dad = Graph_Individual()
                        individual_node_dad_result = individual_node_dad.get_node(id_dad)
                        nodo2 = node(individual_node_dad_result[0][0])

                        relation = Relations()
                        relation.parent(nodo1, nodo2)

                    if member['mama']:
                        print "++++MAMA++++"
                        id_mom = member['mama']
                        individual_node_mom = Graph_Individual()
                        individual_node_mom_result = individual_node_mom.get_node(id_mom)
                        nodo2 = node(individual_node_mom_result[0][0])

                        relation = Relations()
                        relation.parent(nodo1, nodo2)
            else:
                id = member['id']
                views = member['views']
                individual_node = Graph_Individual()
                individual_node_result = individual_node.get_node(id)
                individual_node_result[0][0]["views"] = views
                print "Node views updated"


            self.put_individual(**member)
            # self.put_individual( member['id'], fitness = member['fitness'] , chromosome  = member['chromosome'])

        r.delete(sample['sample_id'])
        r.lrem(self.sample_queue, sample['sample_id'])
Ejemplo n.º 3
0
    def put_sample(self, sample, **kwargs):
        print "77777777777777"
        print type(sample)
        if not isinstance(sample, dict):
            sample = json.loads(sample)

        #if r.exists(sample['sample_id']):
        #    if LOGGING:

        r.incr(self.returned_counter)

        #        if count % LOG_INTERVAL == 0 :
        #            r.sunionstore("log:"+str(count),"pop")

        print "hola"
        for member in sample['sample']:
            print "for member"
            if member['id'] is None:
                print "*********MEMBER**********"
                member['id'] = self.name + ":individual:%s" % r.incr(
                    self.individual_counter)

                new_individual_node = Nodo()
                new_individual_node.create_nodo(
                    element_type="individual",
                    id=member["id"],
                    chromosome=member["chromosome"],
                    views=member["views"])

                print "*********MEMBER**********"
                print member

                # Verificar si el nodo individual existe
                id = member['id']
                individual_node_child = Graph_Individual()
                individual_node_child_result = individual_node_child.get_node(
                    id)

                if individual_node_child_result:
                    nodo1 = node(individual_node_child_result[0][0])

                    if member['papa']:
                        print "====PAPA==="
                        id_dad = member['papa']
                        individual_node_dad = Graph_Individual()
                        individual_node_dad_result = individual_node_dad.get_node(
                            id_dad)
                        nodo2 = node(individual_node_dad_result[0][0])

                        relation = Relations()
                        relation.parent(nodo1, nodo2)

                    if member['mama']:
                        print "++++MAMA++++"
                        id_mom = member['mama']
                        individual_node_mom = Graph_Individual()
                        individual_node_mom_result = individual_node_mom.get_node(
                            id_mom)
                        nodo2 = node(individual_node_mom_result[0][0])

                        relation = Relations()
                        relation.parent(nodo1, nodo2)
            else:
                id = member['id']
                views = member['views']
                individual_node = Graph_Individual()
                individual_node_result = individual_node.get_node(id)
                individual_node_result[0][0]["views"] = views
                print "Node views updated"

            self.put_individual(**member)
            # self.put_individual( member['id'], fitness = member['fitness'] , chromosome  = member['chromosome'])

        r.delete(sample['sample_id'])
        r.lrem(self.sample_queue, sample['sample_id'])