reconnect added

--HG--
branch : sandbox
This commit is contained in:
baloan
2011-03-23 23:09:23 +01:00
parent 8ae6cc967c
commit 0b39366066

View File

@@ -12,7 +12,7 @@ from argparse import ArgumentParser
import eventlet import eventlet
import logging import logging
import os import os
from eventlet.green import socket import socket
import sys import sys
import cPickle as pickle import cPickle as pickle
@@ -34,21 +34,28 @@ def main(argv=None):
print args print args
# application # application
address = ('localhost', 8010) address = ('localhost', 8010)
eventlet.spawn_n(subscriber, address)
while True: while True:
subscriber(address)
eventlet.sleep(1) eventlet.sleep(1)
def subscriber(address): def subscriber(address):
while True:
while True:
try: try:
LOG.info("connecting to %s", address) LOG.info("connecting to %s", address)
cx = eventlet.connect(address) cx = eventlet.connect(address)
break
except socket.error, e: except socket.error, e:
LOG.error("%i %s", e.errno, e) LOG.error("%i %s", e.errno, e)
return eventlet.sleep(1)
while True: while True:
s = cx.recv(4096) s = cx.recv(4096)
if len(s) == 0:
LOG.error("connection broken")
break
item = pickle.loads(s) item = pickle.loads(s)
LOG.info("%s", item) LOG.info("%s", item)
cx.close()
if __name__ == '__main__': if __name__ == '__main__':