Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Idle postgres connection interferes with some automated testing frameworks #434
Using django testing framework, some unit tests were written that generate a basic default map which draws from postgis.
The db connection stays open (due to connection pooling?). While this is good behavior in production, the testing framework creates a test db, runs tests then destroys the test db as the final step. Because mapnik still has an idle postgres connection, the test script throws an exception:
psycopg2.OperationalError: database "test_simple1" is being accessed by other users
It would be nice to have a way to control this connection behavior via the mapnik API.
[springmeyer] see #433 where I experimenting with the connection being closed when the datasource object is deleted rather than when mapnik exits (and releases the Connection Manager). I think the latter behavior is likely ideal, but perhaps we could add keyword arg to the postgis layer to control this....
[springmeyer] Keyword arg added to patch at #433 which maintains current behavior but allows the desired control.
When you set:
persist_connection = false
in the params of one of the postgres layers loaded via xml, then call
and the connection should be closed.