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):
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: while True:
s = cx.recv(4096) while True:
item = pickle.loads(s) try:
LOG.info("%s", item) 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__': if __name__ == '__main__':