From 0833b00fdc5b6dd0e67247ef5968c145e1a86316 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 13 Aug 2023 23:39:01 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20chore(celery=5Fapp.py):=20refact?= =?UTF-8?q?or=20celery=5Fapp=20to=20use=20a=20separate=20function=20make?= =?UTF-8?q?=5Fcelery=20for=20improved=20modularity=20and=20readability=20?= =?UTF-8?q?=F0=9F=94=A7=20chore(celeryconfig.py):=20update=20broker=5Furl?= =?UTF-8?q?=20and=20result=5Fbackend=20to=20use=20LANGFLOW=5FREDIS=5FHOST?= =?UTF-8?q?=20and=20LANGFLOW=5FREDIS=5FPORT=20environment=20variables=20if?= =?UTF-8?q?=20available,=20fallback=20to=20default=20values=20if=20not?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/core/celery_app.py | 14 +++++++++----- src/backend/langflow/core/celeryconfig.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/backend/langflow/core/celery_app.py b/src/backend/langflow/core/celery_app.py index 7b89a05ab..85223491e 100644 --- a/src/backend/langflow/core/celery_app.py +++ b/src/backend/langflow/core/celery_app.py @@ -1,7 +1,11 @@ from celery import Celery -celery_app = Celery( - "langflow", broker="redis://queue:6379/0", backend="redis://queue:6379/0" -) -# command: celery -A langflow.worker.celery_app worker --loglevel=INFO -celery_app.conf.task_routes = {"langflow.worker.tasks.*": {"queue": "langflow"}} + +def make_celery(app_name: str): + celery_app = Celery(app_name) + celery_app.config_from_object("langflow.core.celeryconfig") + celery_app.conf.task_routes = {"langflow.worker.tasks.*": {"queue": "langflow"}} + return celery_app + + +celery_app = make_celery("langflow") diff --git a/src/backend/langflow/core/celeryconfig.py b/src/backend/langflow/core/celeryconfig.py index 647a7f93d..d7827b713 100644 --- a/src/backend/langflow/core/celeryconfig.py +++ b/src/backend/langflow/core/celeryconfig.py @@ -1,7 +1,13 @@ # celeryconfig.py import os -broker_url = os.environ.get("BROKER_URL", "redis://localhost:6379/0") -result_backend = os.environ.get("RESULT_BACKEND", "redis://localhost:6379/0") +langflow_redis_host = os.environ.get("LANGFLOW_REDIS_HOST") +langflow_redis_port = os.environ.get("LANGFLOW_REDIS_PORT") +if langflow_redis_host and langflow_redis_port: + broker_url = f"redis://{langflow_redis_host}:{langflow_redis_port}/0" + result_backend = f"redis://{langflow_redis_host}:{langflow_redis_port}/0" +else: + broker_url = os.environ.get("BROKER_URL", "redis://localhost:6379/0") + result_backend = os.environ.get("RESULT_BACKEND", "redis://localhost:6379/0") # tasks should be json or pickle accept_content = ["json", "pickle"]