class Dc::Metrics::PubSub
Attributes
pub_sub[R]
topic[R]
Public Class Methods
new()
click to toggle source
# File lib/dc/metrics/pub_sub.rb 12 def initialize 13 @pub_sub = Google::Cloud::PubSub.new(**cloud_params) 14 @topic = pub_sub.topic(Metrics.configuration.pubsub_topic_name) 15 end
Public Instance Methods
publish(message)
click to toggle source
# File lib/dc/metrics/pub_sub.rb 17 def publish(message) 18 t = Thread.new{ 19 begin 20 encoded_data = DeliveryCenter::Logging::Integration::V1::WriteMetricsRequest.encode(message) 21 response = topic.publish(encoded_data) 22 rescue StandardError => e 23 puts "[Error][Dc::Metrics] #{e.message}" if e.message != nil 24 puts "[Error][Dc::Metrics] #{e.backtrace[0]}" if e.backtrace[0] != nil 25 puts "[Error][Dc::Metrics] #{e.backtrace[1]}" if e.backtrace[1] != nil 26 end 27 } 28 Metrics.add_pending_thread(t) 29 Metrics.clean_pending_threads 30 end
Private Instance Methods
cloud_params()
click to toggle source
# File lib/dc/metrics/pub_sub.rb 34 def cloud_params 35 { 36 project_id: Metrics.configuration.gcp_project_id, 37 credentials: Metrics.configuration.gcp_credentials_path 38 } 39 end