Pooled Connections, MasterSlave and closing connections
For a celery task you will probably want to open/close the connections to both databases, if you are going to be using both in the task, e.g.

``` python
master.connect()
read.connect()
try:
    my_code()
finally:
    master.close()
    read.close()
```

The pool will handle recycling the connections for you.
 Great, thanks @coleifer 

I'm a little confused as to the process of opening and closing connections when using PooledPostgresqlExtDatabase and ReadSlaveModel... Say I have one master and one read. When opening a connection in my app (celery task), do I need to explicitly open a connection to both databases? Or do I open a connection to the master database only? 

In the following example, how should I manage connections?

``` python
master = PooledPostgresqlExtDatabase()
read = PooledPostgresqlExtDatabase()

### Models
class SomeModel(ReadSlaveModel):
    something = TextField()

    class Meta(object):
        """
        Set the required Meta values
        """
        database = master
        read_slaves = (read, )

##### App
try:
    SomeModel.get(SomeModel.id == 1)
except:
    SomeModel.create(**attributes)
```
