Giter Club home page Giter Club logo

djorm-ext-pool's People

Contributors

auvipy avatar bitdeli-chef avatar jeethu avatar pjambet avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

djorm-ext-pool's Issues

recursion depth exceeded with SQLAlchemy==0.9.0 and DEBUG = True

When running with DEBUG = True and the newest SQLAlchemy==0.9.0 im getting this:

File "/Users/xxx/.virtualenvs/sports/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 264, in get_callable_argspec
if isinstance(fn, types.FunctionType):
RuntimeError: maximum recursion depth exceeded while calling a Python object

These are the lines causing it:

event.listen(Pool, 'checkout', partial(_log, 'retrieved from pool'))
event.listen(Pool, 'checkin', partial(_log, 'returned to pool'))
event.listen(Pool, 'connect', partial(_log, 'new connection'))

Env:

Django==1.6.1
psycopg2==2.5.1
djorm-ext-pool==0.8
South==0.8.4
SQLAlchemy==0.9.0

Running on:

Python 2.7.6
PostgreSQL 9.2

We should probably pin SQLAlchemy to maximum version 0.8.4, something like:

SQLAlchemy<0.9.0

Or better would be to find whats causing it on 0.9.0 :)

Connection overflowed

When I used the default setting, it created too many tcp connections to all mysql servers.
Below is the netstat output:

$ netstat 
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-35-134-55.e:49768 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-31.e:58440 TIME_WAIT
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-180-43-21.e:37731 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-146-200-155:37748 TIME_WAIT
tcp        0     67 ip-20-147-13-90.e:mysql ip-20-146-188-234:33170 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-142-168-210:19936 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-191-91.:11942 TIME_WAIT
tcp        0    118 ip-20-147-13-90.e:mysql ip-20-63-152-115.:37376 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-35-151-224.:44295 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-7-146-43.ec:30313 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-237-183-161:14811 ESTABLISHED
tcp        0     63 ip-20-147-13-90.e:mysql ip-20-51-159-180.:18934 ESTABLISHED
tcp        0     67 ip-20-147-13-90.e:mysql ip-20-237-180-221:25828 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-147-106:55704 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-239-174-71.:15305 ESTABLISHED
tcp        0      0 ip-20-147-13-90.ec2:ssh ip-20-82-7-125.ec:21503 ESTABLISHED
tcp        0    118 ip-20-147-13-90.e:mysql ip-20-102-131-29.:32082 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-142-168-210:19934 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-140-203-10.:21455 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-31.:48701 TIME_WAIT
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-231-144-162:33444 TIME_WAIT
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-35-134-55.e:49739 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-150-58.e:4329 TIME_WAIT
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-180-43-21.e:37730 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-146-197-102:65134 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-146-179-38.:35911 TIME_WAIT
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-82-7-125.ec:22894 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-82-7-125.ec:22895 ESTABLISHED
tcp        0     67 ip-20-147-13-90.e:mysql ip-20-146-188-234:33169 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-239-174-71.:15308 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-82-7-125.ec:22893 ESTABLISHED
tcp        0     11 ip-20-147-13-90.e:mysql ip-20-7-146-43.ec:30318 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-206-206:41700 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:52329 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-188-249:33696 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-208-83.:62171 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:54684 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-35-134-55.e:10701 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-1-179.e:23625 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-90.:65386 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-188-249:33647 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:27251 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-206-206:42821 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:56423 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-101-129-54.:32999 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.ec:2648 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-31.:15164 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:26522 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-206-206:43381 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:65085 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-35-135-148.:51712 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:47584 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-35-134-55.e:12001 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-35-134-55.ec:8574 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:65237 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-31.:17380 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-102-131-53.:62236 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-31.e:30263 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:22948 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-90.e:1063 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.ec:2657 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-31.e:25138 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-31.:16606 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-159-162.:7327 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-159-162:10120 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:22639 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-188-249:33937 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-207-21.:39472 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-159-162.:6615 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-1-211.e:25378 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-31.e:31745 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-102-131-53.:60711 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:23709 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:61297 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-159-162.:9445 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-1-179.e:15589 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-1-179.e:14818 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:24320 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-35-135-148.:53248 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-145-206-206:41808 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:53944 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-231-144-162:16718 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-147-159-162.:6119 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:62465 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:52918 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-166-4-84.ec:23045 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-231-144-162:16195 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-167-1-179.e:22138 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-164-97-40.e:49799 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-90.e:5221 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:64446 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-146-188-234.:4882 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-203-129-31.:17187 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-102-131-29.e:2767 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-146-179-38.e:9290 ESTABLISHED
tcp        0      0 ip-20-147-13-90.e:mysql ip-20-179-11-68.e:64828 ESTABLISHED
...

TypeError: '<' not supported between instances of 'type' and 'type'

按照您的教程加入后,启动报这个错误

Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\threading.py", line 917, in _bootstrap_inner
    self.run()
  File "C:\Program Files\Python37\lib\threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Program Files\Python37\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\django\core\management\commands\runserver.py", line 120, in inner_run
    self.check_migrations()
  File "C:\Program Files\Python37\lib\site-packages\django\core\management\base.py", line 453, in check_migrations
    executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS])
  File "C:\Program Files\Python37\lib\site-packages\django\db\migrations\executor.py", line 18, in __init__
    self.loader = MigrationLoader(self.connection)
  File "C:\Program Files\Python37\lib\site-packages\django\db\migrations\loader.py", line 49, in __init__
    self.build_graph()
  File "C:\Program Files\Python37\lib\site-packages\django\db\migrations\loader.py", line 212, in build_graph
    self.applied_migrations = recorder.applied_migrations()
  File "C:\Program Files\Python37\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations
    if self.has_table():
  File "C:\Program Files\Python37\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table
    return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor())
  File "C:\Program Files\Python37\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor
    return self._cursor()
  File "C:\Program Files\Python37\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor
    self.ensure_connection()
  File "C:\Program Files\Python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection
    self.connect()
  File "C:\Program Files\Python37\lib\site-packages\django\db\backends\base\base.py", line 195, in connect
    self.connection = self.get_new_connection(conn_params)
  File "C:\Program Files\Python37\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection
    return Database.connect(**conn_params)
  File "C:\project\qhlive_python\djorm_pool\__init__.py", line 84, in connect
    return self.manager.connect(*args, **kwargs)
  File "C:\Program Files\Python37\lib\site-packages\sqlalchemy\pool.py", line 1427, in connect
    return self.get_pool(*args, **kw).connect()
  File "C:\Program Files\Python37\lib\site-packages\sqlalchemy\pool.py", line 1398, in get_pool
    return self.pools[key]
  File "C:\project\qhlive_python\djorm_pool\__init__.py", line 52, in __hash__
    return hash(tuple(sorted(self.items())))
TypeError: '<' not supported between instances of 'type' and 'type'

After running tests, the db can't be deleted

After running tests, I get the following error when trying to destroy the db:

`....
Ran 91 tests in 18.146s

OK
Destroying test database for alias 'default'...
DatabaseError: database "test_dbname" is being accessed by other users
DETAIL: There is 1 other session using the database.`

Error happened : Python 3.6 Django 1.8.6

function patch_mysql

class hashabledict(dict):
        def __hash__(self):
            return hash(tuple(sorted(list(self.items()))))

Python 2 is OK, Maybe it is occured by the different version of Python to convert data structure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.