예제 #1
0
                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
예제 #2
0
    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()