| # app/workers/redis_worker.py | |
| import json | |
| import redis | |
| import os | |
| from app.agents import chat_agent, vision_agent, fashion_agent | |
| r = redis.Redis( | |
| host=os.getenv("REDIS_HOST", "localhost"), | |
| port=int(os.getenv("REDIS_PORT", 6379)), | |
| decode_responses=True | |
| ) | |
| AGENTS = { | |
| "chat_agent": chat_agent.run, | |
| "vision_agent": vision_agent.run, | |
| "fashion_agent": fashion_agent.run, | |
| } | |
| while True: | |
| task = r.brpop("tasks")[1] | |
| task = json.loads(task) | |
| agent = task["agent"] | |
| if agent in AGENTS: | |
| result = AGENTS[agent](task) | |
| r.set(f"result:{task['task_id']}", json.dumps(result)) |