Example #1
0
def process_worker(task_queue):
    while True:
        tid, task_info = task_queue.get()
        task_queue.put((-1, ("Working", tid)))
        (task, argv, kwargs) = Husky.loads(task_info)
        start_time = time.time()
        res = task(*argv, **kwargs)
        used_time = time.time() - start_time
        finish_time = time.time()
        task_queue.put((tid, Husky.dumps((res, start_time, finish_time))))
        task_queue.put((-1, ("Idle", None)))
Example #2
0
File: worker.py Project: Tefx/Brick
def process_worker(task_queue):
    while True:
        tid, task_info = task_queue.get()
        task_queue.put((-1, ("Working", tid)))
        (task, argv, kwargs) = Husky.loads(task_info)
        start_time = time.time()
        res = task(*argv, **kwargs)
        used_time = time.time() - start_time
        finish_time = time.time()
        task_queue.put((tid, Husky.dumps((res, start_time, finish_time))))
        task_queue.put((-1, ("Idle", None)))
Example #3
0
        if not header: return False
        length = struct.unpack(self.HEADER_STRUCT, header)[0]
        chunks = []
        while length:
            recv = safe_recv(self._sock, length)
            if not recv: return False
            chunks.append(recv)
            length -= len(recv)
        return "".join(chunks)

    def write(self, bytes):
        msg = struct.pack(self.HEADER_STRUCT, len(bytes)) + bytes
        return safe_send(self._sock, msg)

    def close(self):
        self._sock.shutdown(SHUT_RDWR)
        self._sock.close()

dumps = lambda x: snappy.compress(Husky.dumps(x))
loads = lambda x: Husky.loads(snappy.decompress(x))

class ObjPort(Port):
    def read(self):
        res = super(ObjPort, self).read()
        if res:
            res = loads(res)
        return res
        
    def write(self, bytes):
        return super(ObjPort, self).write(dumps(bytes))
Example #4
0
 def run(self, tid, task, *argv, **kwargs):
     task_info = Husky.dumps((task, argv, kwargs))
     self.puppet.submit_task(tid, task_info)
     res = self.puppet.fetch_result(tid)
     self.queue.discard(tid)
     return Husky.loads(res)
Example #5
0
 def reg_mod(self, name, mod):
     self.redis.set("mod_%s" % name, Husky.dumps(mod))
Example #6
0
 def put(self, value):
     self.id = uuid1().hex
     value = Husky.dumps(value)
     kvstore.set(self.id, value, serialize=False)
Example #7
0
 def get(self, key):
     res = kvstore.get(key, serialize=False)
     # while not res:
     #     sleep(0.01)
     #     res = kvstore.get(key, serialize=False)
     return Husky.loads(res)
Example #8
0
 def __getstate__(self):
     return Husky.dumps(self.f)
Example #9
0
 def __setstate__(self, state):
     self.f = Husky.loads(state) 
Example #10
0
 def lpush(self, item):
     self.redis.lpush(self.name, Husky.dumps(item))
     return True
Example #11
0
 def rpop(self):
     return Husky.loads(self.redis.brpop(self.name, 0)[1])
Example #12
0
 def lpush(self, item):
     self.redis.lpush(self.name, Husky.dumps(item))
     return True
Example #13
0
 def rpop(self):
     return Husky.loads(self.redis.brpop(self.name, 0)[1])
Example #14
0
 def reg_mod(self, name, mod):
     self.redis.set("mod_%s" % name, Husky.dumps(mod))