Пример #1
0
from cocaine.services import Service

__author__ = 'EvgenySafronov <*****@*****.**>'


if __name__ == '__main__':
    if len(sys.argv) != 2:
        print('Usage: chunker.py NUMBER_OF_CHUNKS')
        exit(os.EX_USAGE)

    def fetchAll():
        chunk = yield service.enqueue('chunkMe', str(sys.argv[1]))
        chunk = msgpack.loads(chunk)
        size = len(chunk)
        counter = 0
        while True:
            ch = yield
            chunk = msgpack.loads(ch)
            size += len(chunk)
            counter += 1
            print(counter, len(chunk), size)
            if chunk == 'Done':
                break

    service = Service('Chunker')
    c = Chain([fetchAll])
    try:
        c.get()
    except ChokeEvent:
        print('Done')