Class: TopologicalInventory::Providers::Common::Operations::Processor

Inherits:
Object
  • Object
show all
Includes:
Logging, TopologyApiClient
Defined in:
lib/topological_inventory/providers/common/operations/processor.rb

Constant Summary collapse

SLEEP_POLL =
10
POLL_TIMEOUT =
1800

Class Method Summary collapse

Instance Method Summary collapse

Methods included from TopologyApiClient

#svc_instance_url, #topology_api_client, #update_task

Methods included from Logging

#logger

Constructor Details

#initialize(model, method, payload, metrics = nil) ⇒ Processor

Returns a new instance of Processor.



20
21
22
23
24
25
26
# File 'lib/topological_inventory/providers/common/operations/processor.rb', line 20

def initialize(model, method, payload, metrics = nil)
  self.model           = model
  self.method          = method
  self.params          = payload["params"]
  self.identity        = payload["request_context"]
  self.metrics         = metrics
end

Class Method Details

.process!(message) ⇒ Object



14
15
16
17
# File 'lib/topological_inventory/providers/common/operations/processor.rb', line 14

def self.process!(message)
  model, method = message.headers['message_type'].to_s.split(".")
  new(model, method, message.payload).process
end

Instance Method Details

#processObject



28
29
30
31
32
33
34
# File 'lib/topological_inventory/providers/common/operations/processor.rb', line 28

def process
  logger.info("Processing #{model}##{method} [#{params}]...")
  result = order_service(params)
  logger.info("Processing #{model}##{method} [#{params}]...Complete")

  result
end