From 5065223f68461f5f67e98bac1944569df616bfd1 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Wed, 27 May 2015 16:06:04 +0000 Subject: [PATCH] Use sessions for the pyapp -> goapp link too. --- experimental/example/docker-compose.yml | 6 +++--- experimental/example/pyapp/app.py | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/experimental/example/docker-compose.yml b/experimental/example/docker-compose.yml index b8b81cbf3..598e508d3 100644 --- a/experimental/example/docker-compose.yml +++ b/experimental/example/docker-compose.yml @@ -5,7 +5,7 @@ client: - pyapp pyapp: build: pyapp - ports: + expose: - "5000" links: - qotd @@ -20,7 +20,7 @@ redis: image: redis goapp1: build: goapp - ports: + expose: - "8080" links: - elasticsearch1 @@ -28,7 +28,7 @@ goapp1: - elasticsearch3 goapp2: build: goapp - ports: + expose: - "8080" links: - elasticsearch1 diff --git a/experimental/example/pyapp/app.py b/experimental/example/pyapp/app.py index 7e2791d04..ae948d7c5 100644 --- a/experimental/example/pyapp/app.py +++ b/experimental/example/pyapp/app.py @@ -2,6 +2,7 @@ import os import socket import requests import random +import threading from concurrent.futures import ThreadPoolExecutor from flask import Flask @@ -10,6 +11,7 @@ from redis import Redis app = Flask(__name__) redis = Redis(host='redis', port=6379) pool = ThreadPoolExecutor(max_workers=10) +sessions = threading.local() goapps = ['http://goapp1:8080/', 'http://goapp2:8080/'] @@ -27,10 +29,11 @@ def do_qotd(): s.close() def do_search(): - r = requests.get(random.choice(goapps)) + if getattr(sessions, 'session', None) == None: + sessions.session = requests.Session() + r = sessions.session.get(random.choice(goapps)) return r.text - @app.route('/') def hello(): counter_future = pool.submit(do_redis)