Distributed PubSub and Presence platform for the Phoenix Framework
Usage
Add phoenix_pubsub to your list of dependencies in mix.exs:
def deps do [{:phoenix_pubsub, "~> 2.0"}] end
Then start your PubSub instance:
defmodule MyApp do use Application def start(_type, _args) do children = [ {Phoenix.PubSub, name: MyApp.PubSub} ] opts = [strategy: :one_for_one, name: MyApp.Supervisor] Supervisor.start_link(children, opts) end end
Now broadcast and subscribe:
Phoenix.PubSub.subscribe(MyApp.PubSub, "user:123") Phoenix.PubSub.broadcast(MyApp.PubSub, "user:123", :hello_world)
Testing
Testing by default spawns nodes internally for distributed tests.
To run tests that do not require clustering, exclude the clustered tag:
$ mix test --exclude clusteredIf you have issues running the clustered tests try running:
before running the tests.