update
This commit is contained in:
56
phoenix/deps/phoenix_pubsub/README.md
Normal file
56
phoenix/deps/phoenix_pubsub/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Phoenix.PubSub
|
||||
|
||||
> Distributed PubSub and Presence platform for the Phoenix Framework
|
||||
|
||||
[](https://github.com/phoenixframework/phoenix_pubsub/actions/workflows/ci.yml)
|
||||
|
||||
## Usage
|
||||
|
||||
Add `phoenix_pubsub` to your list of dependencies in `mix.exs`:
|
||||
|
||||
```elixir
|
||||
def deps do
|
||||
[{:phoenix_pubsub, "~> 2.0"}]
|
||||
end
|
||||
```
|
||||
|
||||
Then start your PubSub instance:
|
||||
|
||||
```elixir
|
||||
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:
|
||||
|
||||
```elixir
|
||||
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:
|
||||
|
||||
```shell
|
||||
$ mix test --exclude clustered
|
||||
```
|
||||
|
||||
If you have issues running the clustered tests try running:
|
||||
|
||||
```shell
|
||||
$ epmd -daemon
|
||||
```
|
||||
|
||||
before running the tests.
|
||||
Reference in New Issue
Block a user