| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | import osimport sysimport multiprocessingfrom wsgiref.handlers import format_date_timeimport japrontoimport ujson as jsonimport randomimport asyncioimport asyncpgdb_pool = Noneasync def db_setup():    global db_pool    db_pool = await asyncpg.create_pool(        user = os.getenv('PGUSER', 'benchmarkdbuser'),        password = os.getenv('PGPASS', 'benchmarkdbpass'),        database = 'hello_world',        host = 'tfb-database',        port = 5432            )READ_ROW_SQL = 'SELECT "randomnumber", "id" FROM "world" WHERE id = $1'def get_headers():    return {        'Server': 'Japronto/0.1.2',        'Date': format_date_time(None),    }# -----------------------------------------------------------------------------------def json_view(request):    return request.Response(        text = json.dumps( {'message': 'Hello, world!'} ),        mime_type = 'application/json',        headers = get_headers(),    )def plaintext_view(request):    return request.Response(        body = b'Hello, world!',        mime_type = 'text/plain',        headers = get_headers(),    )async def db_view(request):    global db_pool    row_id = random.randint(1, 10000)    async with db_pool.acquire() as connection:        number = await connection.fetchval(READ_ROW_SQL, row_id)    text = json.dumps( {'id': row_id, 'randomNumber': number} )    return request.Response(text = text, mime_type = 'application/json', headers = get_headers())# -----------------------------------------------------------------------------------app = japronto.Application()app.router.add_route('/json', json_view, 'GET')app.router.add_route('/plaintext', plaintext_view, 'GET')#app.router.add_route('/db', db_view, 'GET')#asyncio.set_event_loop(app.loop)#app.loop.run_until_complete(db_setup())# -----------------------------------------------------------------------------------if __name__ == '__main__':        _is_travis = os.environ.get('TRAVIS') == 'true'        workers = int( multiprocessing.cpu_count() )    if _is_travis:        workers = 2    app.run('0.0.0.0', 8080, worker_num = workers)
 |