2017-09-04 10 views
0

私のdbで行が変更されたときに今は必要です。私はフェニックス1.2.4を使用しています。私はすでにpostgresを使用してトリガを持っていますが、実際に私はそれらが必要かどうかわかりません。phoenixのupdate db(postgresで)通知を取得

あなたの問題をどのように解決できますか?

注:データベースはコントローラから変更する必要はなく、一部の部品を更新するcronがあります。

+0

私はトリガーを持っているが、これらのトリガーはエリキシル機能を実行することができますか? –

答えて

2

私は数日前にこのチュートリアル(Publish/subscribe with PostgreSQL and Phoenix Framework)を見ましたが、あなたの望むものが正確に含まれているようです。

DBからの通知をセットアップし、ブロードキャストします。あなたのケースでは、あなたはただ通知部分を必要とし、すべての良いものでなければなりません。

私はそれが役立ちます:)

2

Postgrex.Notificationsはエリキシルプロセスにメッセージを配信するために監視/通知のPostgreSQLを使用するモジュールであると思います。

簡単な例:

defmodule MyListener do 
    use GenServer 

    def start_link(), do: GenServer.start_link(__MODULE__, []) 

    def init(_arg) do 
    {:ok, pid} = Postgrex.Notifications.start_link(MyRepo.config()) 
    Postgrex.Notifications.listen(pid, "my_table") 
    {:ok, []} 
    end 

    def handle_info({:notification, _connection_pid, _ref, _channel, payload}, state) do 
    # ... do something with payload ... 
    {:noreply, state} 
    end 
end 
関連する問題