summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/config.py9
-rw-r--r--app/tasks.py5
-rw-r--r--docker-compose.yml22
-rw-r--r--requirements.txt3
4 files changed, 36 insertions, 3 deletions
diff --git a/app/config.py b/app/config.py
new file mode 100644
index 0000000..a3086de
--- /dev/null
+++ b/app/config.py
@@ -0,0 +1,9 @@
+from os import getenv
+
+from dotenv import load_dotenv
+
+load_dotenv()
+
+config = {
+ 'REDIS_HOST': getenv('REDIS_HOST', 'redis')
+}
diff --git a/app/tasks.py b/app/tasks.py
index bba3fae..9402740 100644
--- a/app/tasks.py
+++ b/app/tasks.py
@@ -1,11 +1,12 @@
from celery import Celery
from utils import restricted_exec
+from app.config import config
app = Celery(
'tasks',
- broker='redis://localhost:6379/0',
- backend='redis://localhost:6379/0',
+ broker=f'redis://{config["REDIS_HOST"]}:6379/0',
+ backend=f'redis://{config["REDIS_HOST"]}:6379/0',
task_send_sent_event=True,
worker_send_task_events=True,
worker_enable_remote_control=True,
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..05c7542
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,22 @@
+version: "3.9"
+services:
+ redis:
+ image: redis
+
+ celery:
+ image: yetsam
+ build:
+ dockerfile: ./Dockerfile
+ restart: always
+ command: celery -A app.tasks worker --loglevel=info
+
+
+ yetsam:
+ image: yetsam
+ volumes:
+ - ./static:/app/static \
+ build:
+ dockerfile: ./Dockerfile
+ restart: always
+ ports:
+ - 8000:8000
diff --git a/requirements.txt b/requirements.txt
index 15e839c..8184620 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,4 +2,5 @@ fastapi==0.111.0
uvicorn==0.30.1
jinja2==3.1.4
RestrictedPython==7.1
-celery[redis]==5.4.0 \ No newline at end of file
+celery[redis]==5.4.0
+python-dotenv \ No newline at end of file