网关并发自动调整工具
功能说明
本工具用于自动监控和调整网关账号的并发容量,确保主账号和附属账号之间的通话比例保持在设定范围内。
主要功能
- 自动监控多个账号对的通话状态
- 根据设定的比例自动调整主账号容量
- 支持为每个账号对设置独立的检查间隔、目标比例和阈值
- 当主账号通话数低于阈值时自动重置容量
- 程序启动和退出时自动重置所有账号容量
使用方法
- 确保已安装Python 3.6或更高版本
-
安装所需依赖:
pip install requests
Bash
Copy
- 修改
gateway_config.json
配置文件(详见配置说明) -
运行程序:
python VOS智能并发.py
Bash
Copy
配置说明
配置文件gateway_config.json
包含以下参数:
全局配置
gateway_ip
: 网关服务器地址和端口,格式为"IP:端口"ratio_error
: 允许的比例误差范围,例如:目标比例是20:1,实际比例在19.5:1到20.5:1之间都是可接受的default_capacity
: 默认并发容量,程序启动、退出或重置时,主账号会被设置为此容量值
账号配置
accounts
数组包含多个账号对配置,每个账号对包含:
main_account
: 主账号名称,附属账号会自动命名为"主账号名-k"target_ratio
: 目标比例,表示主账号:附属账号的比例,例如20表示20:1check_interval
: 检查间隔(秒),每隔指定秒数检查一次该账号对的状态min_current_call
: 最小通话数阈值,当主账号当前通话数低于此值时,会重置主账号容量为默认值,并将附属账号容量设为0
配置文件示例
{
"gateway_ip": "192.168.1.1:1810",
"ratio_error": 0.5,
"default_capacity": 5000,
"accounts": [
{
"main_account": "网关1",
"target_ratio": 20,
"check_interval": 30,
"min_current_call": 100
},
{
"main_account": "网关2",
"target_ratio": 15,
"check_interval": 45,
"min_current_call": 150
}
]
}
JSON
Copy
注意事项
- 程序启动时会自动重置所有账号容量
- 程序退出时会自动重置所有账号容量
- 当主账号通话数低于阈值时,会自动重置容量
- 建议根据实际需求调整检查间隔,避免过于频繁的请求
- 确保配置文件中的账号名称正确无误
- 配置文件必须使用UTF-8编码保存
- JSON格式必须正确,不能包含注释
- 每个账号对可以设置不同的阈值,以适应不同的业务需求
容量调整规则
-
当主账号通话数低于阈值时:
- 主账号容量重置为默认容量
- 附属账号容量设置为0
-
当需要调整比例时:
- 主账号容量根据比例计算调整
- 附属账号容量设置为5000
-
程序退出时:
- 主账号容量重置为默认容量
- 附属账号容量设置为0
日志说明
程序运行时会输出以下信息:
- 配置加载状态
- 每个账号对的当前状态(包括目标比例和阈值)
- 容量调整操作
- 错误信息(如果有)
示例输出
加载配置成功:
网关地址: 192.168.1.1:1810
比例误差范围: ±0.5
默认容量: 5000
监控账号对: 2个
检查账号 网关去1 (检查间隔: 30秒)
账号: 网关1
当前通话数: 150
限制并发数: 5000
------------------------------
账号: 网关1-k
当前通话数: 8
限制并发数: 0
------------------------------
import requests
import time
import json
import os
from date