Spining multiple PageConsumer
using the book provided code, raise an error
children = [
PageProducer,
Supervisor.child_spec(PageConsumer, id: :consumer_a),
Supervisor.child_spec(PageConsumer, id: :consumer_b)
]
But I open an issue on Github Elixir repo, and the fix proposed by Jose Valim is
# in the consumer PageConsumer module
def start_link(opts) do
GenStage.start_link(__MODULE__, [], name: opts[:name])
end
# application.ex
children = [
{Scrapper.PageProducer, []},
Supervisor.child_spec({Scrapper.PageConsumer, [name: :consumer_a]}, id: :consumer_a),
Supervisor.child_spec({Scrapper.PageConsumer, [name: :consumer_b]}, id: :consumer_b)
]