import sys import zmq import time import logging from multiprocessing import Process import hashlib import binascii import struct logging.basicConfig(format="[%(asctime)s] " + \ "[%(process)d %(threadName)s %(name)s] " + \ "[%(module)s %(funcName)s %(lineno)d] " + \ "[%(levelname)s] %(message)s", \ level=logging.DEBUG) log = logging.getLogger(__name__) def hash(content): """ Helper function, was being used to assist in ensuring durability but it was slowing things down. """ return binascii.hexlify( hashlib.md5( pickle.dumps(content) ).digest() ) put_url = 'ipc://msging.put' get_url = 'ipc://msging.get' shutdown_url = 'ipc://msging.shutdown' """ Persistance layer, not in use because it slows things down. """ pth = 'msging.persist' writer = open(pth, 'a') reader = open(pth, 'r+') def push(msg): data = pickle.dumps(msg) data = struct.pack('