cat-bookmarker/deps/phoenix_pubsub
Nat 96939b7aee
Clean up repo and update deps
2024-03-10 11:52:04 -07:00
..
lib/phoenix Clean up repo and update deps 2024-03-10 11:52:04 -07:00
test/shared Clean up repo and update deps 2024-03-10 11:52:04 -07:00
.fetch Clean up repo and update deps 2024-03-10 11:52:04 -07:00
.hex Clean up repo and update deps 2024-03-10 11:52:04 -07:00
CHANGELOG.md Clean up repo and update deps 2024-03-10 11:52:04 -07:00
LICENSE.md Clean up repo and update deps 2024-03-10 11:52:04 -07:00
README.md Clean up repo and update deps 2024-03-10 11:52:04 -07:00
hex_metadata.config Clean up repo and update deps 2024-03-10 11:52:04 -07:00
mix.exs Clean up repo and update deps 2024-03-10 11:52:04 -07:00

README.md

Phoenix.PubSub

Distributed PubSub and Presence platform for the Phoenix Framework

Build Status

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 clustered

If you have issues running the clustered tests try running:

$ epmd -daemon

before running the tests.