diff --git a/src/agent.py b/src/agent.py index b6b2365..ddd41ac 100644 --- a/src/agent.py +++ b/src/agent.py @@ -97,6 +97,12 @@ def send_email(to_email: str, subject: str, body: str) -> str: tools = [send_whatsapp, set_reminder, schedule_calendar, trigger_utility_scraper, get_k8s_pods, delete_k8s_pod, send_email] +from tenacity import retry, stop_after_attempt, wait_exponential + +@retry(stop=stop_after_attempt(5), wait=wait_exponential(multiplier=1, min=4, max=20)) +def _invoke_with_retry(agent, messages): + return agent.invoke({"messages": messages}) + @activity.defn def run_agent_activity(payload: dict) -> str: user_request = payload.get("text", "") @@ -122,5 +128,5 @@ TOOLS AVAILABLE: """ agent = create_react_agent(llm, tools) - result = agent.invoke({"messages": [("system", system_prompt), ("user", user_request)]}) + result = _invoke_with_retry(agent, [("system", system_prompt), ("user", user_request)]) return result["messages"][-1].content