Skip to content

Server 与选项

🖥️ `pkg/api/types.go` / `server_methods.go` — 服务主体。

📁 源码:types.go · server_methods.go

类型

符号源码说明
ServerOptionstypes.go#L154服务配置
Servertypes.go#L175服务主体
MemoryWritertypes.go#L185内存结果存储
NewServer(options)server_methods.go#L15构造

Server 方法

方法源码说明
InitPool(opts)L27初始化浏览器池
ClosePool()L38关闭池
GetBlacklist(opts)L45取黑名单
ProcessScreenshot(req, opts)L51执行截图
SetupRoutes()L90注册路由
HandleRootL119根路径
Run()L134启动监听
HandleStatsL160统计

ServerOptions 字段

字段说明
Host/Port监听地址
APIKey鉴权密钥
MaxConcurrent并发上限
QueueSize等待队列
OutputDir截图存储目录
ChromeOptionsChrome/池配置

生命周期

启动与关闭时序

下图展示 Server 从构造、初始化池、注册路由、监听服务到优雅关闭的完整交互过程:调用方依次触发 NewServerInitPoolSetupRoutesRun,收到信号后 ClosePool 释放 Chrome 子进程。

优雅关闭别忘 ClosePool

ClosePool() 释放浏览器池与 Chrome 进程。服务退出前务必调用,否则 Chrome 子进程残留,长期跑会越积越多吃光内存。容器场景靠 docker stop 的 SIGTERM + 进程信号处理触发。

下一步

基于 MIT 许可发布