Skip to content

Instantly share code, notes, and snippets.

@espeed
Created October 20, 2011 19:33
Show Gist options
  • Save espeed/1302081 to your computer and use it in GitHub Desktop.
Save espeed/1302081 to your computer and use it in GitHub Desktop.
Python ZeroMQ Streamer Client & Worker
import os
import time
import zmq
from zmq.devices.basedevice import ProcessDevice
from multiprocessing import Process
from device import Streamer, create_socket
in_port = 6000
out_port = 6001
number_of_workers = 1
def worker():
uri = "tcp://127.0.0.1:%d" % out_port
socket = create_socket(zmq.PULL,uri)
while True:
message = socket.recv()
print "%s got message! %s" % (os.getpid(), message)
def client():
uri = "tcp://127.0.0.1:%d" % in_port
socket = create_socket(zmq.PUSH,uri)
for i in range(1000):
socket.send('#%s' % i)
streamer = Streamer()
streamer.bind_in(port=in_port)
streamer.bind_out(port=out_port)
streamer.set_worker(worker)
streamer.set_client(client)
streamer.start()
streamer.start_workers(number_of_workers)
streamer.start_client()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment