Simpler pipeline (producer) consumers

The approach we'll now adopt is really similar to the previous one for producer stages. Currently, this is what the RemoteStorage stage looks like:

$ cat apps/elixir_drip/lib/elixir_drip/storage/pipeline/remote_storage.exdefmodule ElixirDrip.Storage.Pipeline.RemoteStorage do  use GenStage  require Logger  alias ElixirDrip.Storage  alias Storage.Provider  alias Storage.Supervisors.CacheSupervisor, as: Cache  @dummy_state []  def start_link(name, subscription_options),    do: GenStage.start_link(__MODULE__, subscription_options, name: name)  def init(subscription_options) do    Logger.debug("#{inspect(self())}: Pipeline RemoteStorage started.     Options: #{inspect(subscription_options)}") {:producer_consumer, @dummy_state, ...

Get Mastering Elixir now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.