Examples
The following example shows a working example for 1) Database Config 2) WSGI Python Script running on Apache Web-Server.
Note
This assumes a working Apache Python WSGI Config.
1. Database / Group Config
# File DBConfig.py
import os
DBName = 'db1'
DBUser = 'db1'
DBHost = 'mypostgres'
DBPass = os.environ['PSQL_PWD']
config1 = {
'db': {
'host': DBHost,
'name': DBName,
'user': DBUser,
'pass': DBPass,
'ssl': 'disable',
'connect_timeout': 30,
'connection_retry_sleep': 1,
'query_timeout': 30000,
'session_tmp_buffer': 128
},
'groups': {
'db1': {
'connection_count': 3,
'autocommit': True,
}
}
}
2. Apache WSGI Script
import DBConfig
from dbpool import pool as dbpool
dbpool.Connection.init(DBConfig.config1)
def application(environ, start_response):
if environ['REQUEST_METHOD'].upper() == 'POST':
try:
start_response('200 OK', [('Content-Type', 'application/json; charset=UTF-8')])
sql = """SELECT col1, col2 FROM testtable1""";
with dbpool.Handler('db1') as db:
for rec in db.query(sql):
yield rec
except Exception as e:
yield "500 Internal Server Error"