Programming Phoenix 1.4: Chapter 11 - Extracting Rumbl and RumbleWeb (Page 237, 238, 240)

First, the code resources:

Page 237: rumbl_umbrella/apps/rumbl/mix.exs

Note: That this file is missing.

Page 238: rumbl_umbrella/apps/rumbl/lib/rumbl/application.ex

Note. This file is included but the original application, rumbl, also had support for telemetry and there’s no reference in the book for it. I’m guessing that telemetry remains within the rumbl_web application.

Page 238: rumbl_umbrella/apps/rumbl_web/lib/rumbl_web/endpoint.ex

Note: This file is included in the resources but the book’s instructions and this file are not in sync with one another.

Page 238: apps/rumbl_web/lib/rumbl_web/channels/presence.ex

Note: This file is included in the resources but the book’s instructions and this file are not in sync with one another.

I couldn’t figure that out either. After following do book when I do
mix test

I get an error:

==> rumbl
** (Mix) Could not start application rumbl_web: RumblWeb.Application.start(:normal, []) returned an error: shutdown: failed to start child: RumblWeb.Presence
    ** (EXIT) shutdown: failed to start child: Phoenix.Presence.Tracker
        ** (EXIT) shutdown: failed to start child: RumblWeb.Presence_shard0
            ** (EXIT) an exception was raised:
                ** (ArgumentError) unknown registry: RumblWeb.PubSub
                    (elixir 1.11.4) lib/registry.ex:999: Registry.meta/2
                    (phoenix_pubsub 2.0.0) lib/phoenix/pubsub.ex:262: Phoenix.PubSub.node_name/1
                    (phoenix_pubsub 2.0.0) lib/phoenix/tracker/shard.ex:122: Phoenix.Tracker.Shard.init/1
                    (stdlib 3.14.2) gen_server.erl:417: :gen_server.init_it/2
                    (stdlib 3.14.2) gen_server.erl:385: :gen_server.init_it/6
                    (stdlib 3.14.2) proc_lib.erl:226: :proc_lib.init_p_do_apply/3

Here is a post that might help with that which helped me.

1 Like