chromesmith
:construction: [WIP]
Higher-level library for forging distributing workloads across an army of headless chrome workers.
Provides a higher-level DSL on top of chrome-remote-interface, and manages headless chrome processes with chrome-launcher.
Usage
chromesmith handles pooling page sessions and distributing work across them. You can configure this pool or use the default configuration. It's highly recommended you tune your configuration to your runtime environment to make best use of your resources.
Add Chromesmith to your application supervision tree.
Use Chromesmith.child_spec/2 to create the child specification to be put in your application's supervisor.
See here for configuration options.
defmodule MyApp.Application do
@moduledoc false
use Application
def start(_type, _args) do
children = [
Chromesmith.child_spec(:chrome_pool, [process_pool_size: 2])
]
opts = [strategy: :one_for_one, name: ChromesmithExample.Supervisor]
Supervisor.start_link(children, opts)
end
end