🐛 fix(command): 回调超时从 10s 改为可配置,默认 180s
- 新增 COMMAND_CALLBACK_TIMEOUT 配置项,默认 180 秒 - 生图等耗时命令不再因超时中断
This commit is contained in:
@@ -37,3 +37,4 @@ COMMAND_PREFIX: str = os.environ.get("COMMAND_PREFIX", "#")
|
|||||||
COMMAND_LENGTH_MIN: int = int(os.environ.get("COMMAND_LENGTH_MIN", "2"))
|
COMMAND_LENGTH_MIN: int = int(os.environ.get("COMMAND_LENGTH_MIN", "2"))
|
||||||
COMMAND_LENGTH_MAX: int = int(os.environ.get("COMMAND_LENGTH_MAX", "4"))
|
COMMAND_LENGTH_MAX: int = int(os.environ.get("COMMAND_LENGTH_MAX", "4"))
|
||||||
COMMAND_CALLBACK_URL: str = os.environ.get("COMMAND_CALLBACK_URL", "")
|
COMMAND_CALLBACK_URL: str = os.environ.get("COMMAND_CALLBACK_URL", "")
|
||||||
|
COMMAND_CALLBACK_TIMEOUT: int = int(os.environ.get("COMMAND_CALLBACK_TIMEOUT", "180"))
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import re
|
|||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX
|
from ..config import COMMAND_CALLBACK_TIMEOUT, COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX
|
||||||
|
|
||||||
|
|
||||||
def build_command_pattern() -> re.Pattern:
|
def build_command_pattern() -> re.Pattern:
|
||||||
@@ -64,7 +64,7 @@ async def send_command_callback(data: dict, event, api, logger) -> None:
|
|||||||
async with session.post(
|
async with session.post(
|
||||||
COMMAND_CALLBACK_URL,
|
COMMAND_CALLBACK_URL,
|
||||||
json=data,
|
json=data,
|
||||||
timeout=aiohttp.ClientTimeout(total=10),
|
timeout=aiohttp.ClientTimeout(total=COMMAND_CALLBACK_TIMEOUT),
|
||||||
) as resp:
|
) as resp:
|
||||||
if resp.status >= 400:
|
if resp.status >= 400:
|
||||||
body = await resp.text()
|
body = await resp.text()
|
||||||
|
|||||||
Reference in New Issue
Block a user