init_browser_pool

Function init_browser_pool 

Source
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(())
}