Exemple #1
0
    def connect (cls, db_module, connect_timeout, *args, **kw):
        t = timeout.Timeout(connect_timeout, ConnectTimeout())
        try:
            from evy import tpool

            conn = tpool.execute(db_module.connect, *args, **kw)
            return tpool.Proxy(conn, autowrap_names = ('cursor',))
        finally:
            t.cancel()
Exemple #2
0
 def test_leakage_from_tracebacks (self):
     tpool.execute(noop)  # get it started
     gc.collect()
     initial_objs = len(gc.get_objects())
     for i in xrange(10):
         self.assertRaises(RuntimeError, tpool.execute, raise_exception)
     gc.collect()
     middle_objs = len(gc.get_objects())
     # some objects will inevitably be created by the previous loop
     # now we test to ensure that running the loop an order of
     # magnitude more doesn't generate additional objects
     for i in xrange(100):
         self.assertRaises(RuntimeError, tpool.execute, raise_exception)
     first_created = middle_objs - initial_objs
     gc.collect()
     second_created = len(gc.get_objects()) - middle_objs
     self.assert_(second_created - first_created < 10,
                  "first loop: %s, second loop: %s" % (first_created, second_created))
     tpool.killall()
Exemple #3
0
 def test_leakage_from_tracebacks(self):
     tpool.execute(noop)  # get it started
     gc.collect()
     initial_objs = len(gc.get_objects())
     for i in xrange(10):
         self.assertRaises(RuntimeError, tpool.execute, raise_exception)
     gc.collect()
     middle_objs = len(gc.get_objects())
     # some objects will inevitably be created by the previous loop
     # now we test to ensure that running the loop an order of
     # magnitude more doesn't generate additional objects
     for i in xrange(100):
         self.assertRaises(RuntimeError, tpool.execute, raise_exception)
     first_created = middle_objs - initial_objs
     gc.collect()
     second_created = len(gc.get_objects()) - middle_objs
     self.assert_(
         second_created - first_created < 10,
         "first loop: %s, second loop: %s" %
         (first_created, second_created))
     tpool.killall()
Exemple #4
0
def Connection (*args, **kw):
    conn = tpool.execute(__orig_connections.Connection, *args, **kw)
    return tpool.Proxy(conn, autowrap_names = ('cursor',))
Exemple #5
0
def Connection(*args, **kw):
    conn = tpool.execute(__orig_connections.Connection, *args, **kw)
    return tpool.Proxy(conn, autowrap_names=('cursor', ))