跳到主要内容

tophant.benjamin.config

Messages & Enums

message GlobalConfig

全局配置项

message GlobalConfig {
// 全局配置
//
// 是否启用调试模式(会自动影响到日志级别等配置)
bool debug = 1;
// 是否启用本地模式(一般不在配置文件中配置,而是命令行覆盖)
bool local_mode = 2;
// 选用的调度器
GlobalConfig.Scheduler scheduler = 3;
// 并发默认值【建议配置 default_task_config】
//
// 默认浏览器并发数(单机版默认为 1)
uint32 default_browser_concurrency = 11;
// 默认标签并发数(单机版默认为 6)
uint32 default_tab_concurrency = 12;
// 请求参数默认值【建议配置 default_task_config】
//
// 默认最大目标数量(默认为 math.MaxInt32)
uint64 default_max_target = 21;
// 默认最大结果数量(默认为 math.MaxInt32)
uint64 default_max_result = 22;
// 默认最大深度(默认为 999)
uint64 default_max_depth = 23;
// 默认浏览器配置【建议配置 default_task_config】
//
// 默认浏览器视口宽度(默认为 1920)
uint32 default_chrome_viewport_width = 31;
// 默认浏览器视口高度(默认为 1080)
uint32 default_chrome_viewport_height = 32;
// 默认浏览器 User-Agent(默认为 MacOS Chrome)
string default_user_agent = 33;
// 默认浏览器 Accept-Language(默认为 zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7)
string default_accept_language = 34;
// 默认存储策略【建议配置 default_task_config】
//
// 默认存储策略:收集响应体大小限制(默认为 10 MB)
uint64 default_collect_body_size_limit_bytes = 41;
// 默认存储策略:原始响应体大小限制(默认为 10 MB)
uint64 default_raw_body_size_limit_bytes = 42;
// 默认 ElementHandler 配置【建议配置 default_task_config】
repeated string default_handle_elements = 51;
// 数据库配置
//
// 数据库连接字符串,例如 postgres://postgres:@localhost:5432/benjamin?sslmode=disable
string db_dsn = 91;
// Redis 配置
//
// 消息队列连接字符串,例如 redis://localhost:6379/0 或者 internal://pg
string queue_dsn = 102;
// 队列前缀,仅 redis 队列有效,默认为 `benjamin`
string queue_prefix = 101;
// Kafka 配置
repeated string kafka_addrs = 111;
GlobalConfig.KafkaTlsConfig kafka_tls = 112;
// Nacos 配置
// Docker 配置
//
// 使用的 Docker 镜像,例如 benjamin:stable,默认为当前容器的镜像
string default_docker_image = 121;
// Docker API Host,例如 benjamin-api:9812
string docker_api_host = 122;
// 资源配置(当前仅 docker runner 生效)
//
// 内存限制(单位:MB)
uint32 resource_limit_memory_mb = 151;
// 任务默认配置
tophant.benjamin.TaskConfig default_task_config = 211;
// 内部 flag 配置
repeated string flags = 299;
}

message GlobalConfig.KafkaTlsConfig

message KafkaTlsConfig {
// Enable 代表启用 SSL
bool enable = 1;
string ca_file_path = 12;
bytes ca_pem = 2;
string cert_file_path = 13;
bytes cert_pem = 3;
string key_file_path = 14;
bytes key_pem = 4;
optional string key_password = 5;
}

message GlobalConfig.NacosConfig

message NacosConfig {
// Enable 代表启用 Nacos 注册中心
bool enable = 1;
// Nacos 的服务器地址,必填
string server_ip = 11;
// Nacos 的服务器端口,必填
uint32 server_port = 12;
// Nacos 的命名空间
string namespace_id = 13;
string username = 14;
string password = 15;
// 向注册中心注册的 IP 地址,必填
string register_ip = 21;
// 向注册中心注册的端口,默认为 9812
uint32 register_port = 22;
// 向注册中心注册的 service name,默认为 benjamin
string service_name = 23;
// APTP 的 Nacos 配置文件路径
//
// registry:
// namespace: xxx
// host: xxx
// port: 8848
// bind: 10.0.81.111
// username: ...
// password: ...
string aptp_config_file = 91;
}

enum GlobalConfig.Scheduler

调度器选择

enum Scheduler {
// 默认
SchedulerDefault = 0;
// 协程
SchedulerCoroutine = 1;
// 子进程
SchedulerSubprocess = 2;
SchedulerDocker = 3;
}