q.task_done() for i in range(20): q.put(s2b("Hello World %s" % i), False) for i in range(4): th = threading.Thread(target=runpool) th.daemnon = True th.start() q.join() print ("final pool size: %s" % pool.size) pool.release_all() server.shutdown() ########NEW FILE######## __FILENAME__ = backend_eventlet # -*- coding: utf-8 - # # This file is part of socketpool. # See the NOTICE for more information. import eventlet from eventlet.green import select from eventlet.green import socket from eventlet import queue from socketpool.pool import ConnectionPool
def runpool(): while True: try: data = q.get(False) except Empty: break try: with pool.connection() as conn: print("conn: pool size: %s" % pool.size) sent = conn.send(data) echo = conn.recv(1024) print("got %s" % data) assert data == echo finally: q.task_done() for i in range(20): q.put(s2b("Hello World %s" % i), False) for i in range(4): th = threading.Thread(target=runpool) th.daemnon = True th.start() q.join() print("final pool size: %s" % pool.size) pool.release_all() server.shutdown()