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