July 2018
Intermediate to advanced
574 pages
14h 7m
English
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, ...