about summary refs log tree commit diff
path: root/composer
diff options
context:
space:
mode:
authorPaweł Dybiec <pawel.to.malpa@gmail.com>2018-12-02 01:21:20 +0100
committerPaweł Dybiec <pawel.to.malpa@gmail.com>2018-12-02 01:21:20 +0100
commit03bbfaa93e0b565b4db5c4ef7b685ecf3b245287 (patch)
treebb5b29dcae1cd166031048ce64b2c4386483d854 /composer
parentBase system (diff)
Sample services
Diffstat (limited to 'composer')
-rw-r--r--composer/app/Dockerfile5
-rw-r--r--composer/app/app.py29
-rw-r--r--composer/app/docker-compose.yml8
-rw-r--r--composer/app/requirements.txt2
4 files changed, 44 insertions, 0 deletions
diff --git a/composer/app/Dockerfile b/composer/app/Dockerfile
new file mode 100644
index 0000000..8e67d74
--- /dev/null
+++ b/composer/app/Dockerfile
@@ -0,0 +1,5 @@
+FROM python:3.4-alpine
+ADD . /code
+WORKDIR /code
+RUN pip install -r requirements.txt
+CMD ["python", "app.py"]
diff --git a/composer/app/app.py b/composer/app/app.py
new file mode 100644
index 0000000..9bf5d90
--- /dev/null
+++ b/composer/app/app.py
@@ -0,0 +1,29 @@
+import time
+
+import redis
+from flask import Flask
+
+
+app = Flask(__name__)
+cache = redis.Redis(host='redis', port=6379)
+
+
+def get_hit_count():
+    retries = 5
+    while True:
+        try:
+            return cache.incr('hits')
+        except redis.exceptions.ConnectionError as exc:
+            if retries == 0:
+                raise exc
+            retries -= 1
+            time.sleep(0.5)
+
+
+@app.route('/')
+def hello():
+    count = get_hit_count()
+    return 'Hello from this site! I have been seen {} times.\n'.format(count)
+
+if __name__ == "__main__":
+    app.run(host="0.0.0.0", debug=True)
diff --git a/composer/app/docker-compose.yml b/composer/app/docker-compose.yml
new file mode 100644
index 0000000..899cf44
--- /dev/null
+++ b/composer/app/docker-compose.yml
@@ -0,0 +1,8 @@
+version: '3'
+services:
+  web:
+    build: .
+    ports:
+     - "5000:5000"
+  redis:
+    image: "redis:alpine"
diff --git a/composer/app/requirements.txt b/composer/app/requirements.txt
new file mode 100644
index 0000000..1a5dc97
--- /dev/null
+++ b/composer/app/requirements.txt
@@ -0,0 +1,2 @@
+flask
+redis