From 65145e6be87df7b0440fb98c11abc23a2b3c49ed Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 7 Feb 2015 12:33:06 -0700 Subject: use a single topic exchange instead of multiple fanout exchanges. --- app/controllers/agents/events_controller.rb | 4 +++- app/controllers/agents/files_controller.rb | 9 ++++++++- app/controllers/dispositions_controller.rb | 3 ++- 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'app/controllers') diff --git a/app/controllers/agents/events_controller.rb b/app/controllers/agents/events_controller.rb index abe9c04..8b1d158 100644 --- a/app/controllers/agents/events_controller.rb +++ b/app/controllers/agents/events_controller.rb @@ -11,7 +11,9 @@ module Agents end def create - Publisher.publish("events", event_params.merge({agent_id: @agent.id})) + message = event_params.merge({agent_id: @agent.id}) + routing_key = "events.#{event_params[:name]}.#{@agent.id}" + Publisher.publish(routing_key, message) redirect_to agent_events_url, notice: 'Event was successfully created.' end diff --git a/app/controllers/agents/files_controller.rb b/app/controllers/agents/files_controller.rb index 76051cf..3c2e47b 100644 --- a/app/controllers/agents/files_controller.rb +++ b/app/controllers/agents/files_controller.rb @@ -16,12 +16,19 @@ module Agents name: params[:name], data: params[:data] }) + + message = { + agent_id: params[:id], + name: params[:name], + data: params[:data] + } + Publisher.publish("events.scanned.#{@agent.id}", message) end private def load_agent - Agent.find(params[:agent_id]) + @agent = Agent.find(params[:agent_id]) end end end diff --git a/app/controllers/dispositions_controller.rb b/app/controllers/dispositions_controller.rb index 2581d80..116b7bb 100644 --- a/app/controllers/dispositions_controller.rb +++ b/app/controllers/dispositions_controller.rb @@ -26,7 +26,8 @@ class DispositionsController < ApplicationController # POST /dispositions # POST /dispositions.json def create - Publisher.publish("poke", disposition_params) + fingerprint = disposition_params[:fingerprint] + Publisher.publish("commands.poke.#{fingerprint}", disposition_params) respond_to do |format| format.html { redirect_to dispositions_path, notice: 'Disposition was successfully created.' } -- cgit v1.2.3