def main(): sleep(6) # armamos las conexiones a las colas de entrada y salida control_name = queue_manager.get_queue_name("control") lists_name = queue_manager.get_queue_name("lists") receiver = queue_manager.Queue() votesengine = VoteEngine() while True: # Busca un nuevo voto y lo transforma new_vote = receiver.receive(control_name) new_data = json.loads(new_vote) print "QUERY: ", new_data print "MODE: ", votesengine.status operation = getattr(votesengine, new_data["operation"], None) if operation: response = operation(new_data) print "ANS: ", response receiver.send(lists_name, json.dumps(response)) else: print "Operation Not Implemented" + new_data["operation"]
import queue_manager from multiprocessing import Process control_name = queue_manager.get_queue_name('control') lists_name = queue_manager.get_queue_name('lists') receiver = queue_manager.Queue() def rec_commands(): while True: print receiver.receive(control_name) def rec_lists(): while True: print receiver.receive(lists_name) r1 = Process(target=rec_commands) r2 = Process(target=rec_lists) r1.start() r2.start() r1.join() r2.join()
import queue_manager import json control_name = queue_manager.get_queue_name("control") lists_name = queue_manager.get_queue_name("lists") sender = queue_manager.Queue() sender.send(control_name, json.dumps({"timestamp": 1389289889, "operation": "nuevacancion"})) # sender.send(lists_name, json.dumps({'top': [(9, 3), (6, 2), (1, 1), (5, 1), (8, 1), (2, 0), (3, -1), (4, -1), (10, -4), (7, -5)], 'last': [(10,1), (4,3), (5,5), (8,-1), (6,5), (2,8), (7,0), (1,9), (3,1), (9,2)]}))
import random import time from time import sleep sessions = ['aaa', 'bbb', 'ccc', 'ddd', 'eee'] operations = ['votarpositivo'] def generate_votes(): '''Generates random votes. Returns a dict: {"id_session": "abcdfg", "timestamp": 1389289869, "id_track": 17, "operation": "votarpositivo"}''' vote_dict = { 'id_session': random.choice(sessions), 'timestamp': time.time(), 'id_track': int(random.gauss(4, 1))+1, 'operation': random.choice(operations)} return json.dumps(vote_dict) control_name = queue_manager.get_queue_name('control') cmd_sender = queue_manager.Queue() for i in range(60): cmd_sender.send(control_name ,generate_votes()) sleep(1)
def __init__(self): self.lists_name = queue_manager.get_queue_name('lists') self.running = True self.receiver = queue_manager.Queue()