fix(notify): more resilient OpenClaw sends (retries/backoff + longer timeout)

This commit is contained in:
Abhimanyu Saharan
2026-02-02 21:58:59 +05:30
parent 521cf1efab
commit 352eb27a52
2 changed files with 5 additions and 4 deletions

View File

@@ -259,7 +259,7 @@ def notify_openclaw(ctx: NotifyContext) -> None:
client.tools_invoke(
"sessions_send",
{"sessionKey": sk, "message": message},
timeout_s=15.0,
timeout_s=30.0,
)
except Exception:
# keep the log, but avoid giant stack spam unless debugging

View File

@@ -50,7 +50,8 @@ class OpenClawClient:
payload["sessionKey"] = session_key
last_err: Exception | None = None
for attempt in range(2):
# Retry a few times; the gateway can be busy and respond slowly.
for attempt in range(4):
try:
r = requests.post(
f"{self.base_url}/tools/invoke",
@@ -74,14 +75,14 @@ class OpenClawClient:
"openclaw.tools_invoke: timeout",
extra={"tool": tool, "attempt": attempt + 1, "timeout_s": timeout_s},
)
time.sleep(0.2 * (attempt + 1))
time.sleep(0.5 * (2**attempt))
except RequestException as e:
last_err = e
logger.warning(
"openclaw.tools_invoke: request error",
extra={"tool": tool, "attempt": attempt + 1, "error": str(e)},
)
time.sleep(0.2 * (attempt + 1))
time.sleep(0.5 * (2**attempt))
assert last_err is not None
raise last_err