about summary refs log tree commit diff
path: root/compose/app
diff options
context:
space:
mode:
authorPaweł Dybiec <pawel.to.malpa@gmail.com>2019-04-17 17:48:49 +0200
committerPaweł Dybiec <pawel.to.malpa@gmail.com>2019-04-17 17:48:49 +0200
commit76173530dcacc33725590a7c6d8862fac5466dc3 (patch)
tree8d87481f094ff0f5c189be7ab95c32e9eb6e8e65 /compose/app
parentAdded vault.password to gitignore (diff)
Change docker compose dir
Diffstat (limited to 'compose/app')
-rw-r--r--compose/app/Dockerfile5
-rw-r--r--compose/app/app.py29
-rw-r--r--compose/app/requirements.txt2
3 files changed, 36 insertions, 0 deletions
diff --git a/compose/app/Dockerfile b/compose/app/Dockerfile
new file mode 100644
index 0000000..8e67d74
--- /dev/null
+++ b/compose/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/compose/app/app.py b/compose/app/app.py
new file mode 100644
index 0000000..9bf5d90
--- /dev/null
+++ b/compose/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/compose/app/requirements.txt b/compose/app/requirements.txt
new file mode 100644
index 0000000..1a5dc97
--- /dev/null
+++ b/compose/app/requirements.txt
@@ -0,0 +1,2 @@
+flask
+redis