pub async fn init_browser_pool() -> Result<Arc<Mutex<BrowserPool>>>Expand description
Initialize browser pool from environment variables.
This is a convenience function for common initialization patterns. It reads configuration from environment variables with sensible defaults.
§Feature Flag
This function is only available when the env-config feature is enabled.
§Environment Variables
BROWSER_POOL_SIZE: Maximum pool size (default: 5)BROWSER_WARMUP_COUNT: Warmup browser count (default: 3)BROWSER_TTL_SECONDS: Browser TTL in seconds (default: 3600)BROWSER_WARMUP_TIMEOUT_SECONDS: Warmup timeout (default: 60)CHROME_PATH: Custom Chrome binary path (optional)
§Returns
Arc<Mutex<BrowserPool>> ready for use in web handlers.
§Errors
- Returns error if configuration is invalid.
- Returns error if warmup fails.
§Example
ⓘ
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
env_logger::init();
let pool = init_browser_pool().await?;
// Use pool in handlers...
Ok(())
}