Method: Observability::Sender#enqueue

Defined in:
lib/observability/sender.rb

#enqueue(*events) ⇒ Object

Queue up the specified events for sending.



91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/observability/sender.rb', line 91

def enqueue( *events )
	posted_event = Concurrent::Event.new

	unless self.executor
		self.log.debug "No executor; dropping %d events" % [ events.length ]
		posted_event.set
		return posted_event
	end

	self.executor.post( *events ) do |*ev|
		serialized = self.serialize_events( ev.flatten )
		serialized.each do |ev|
			self.send_event( ev )
		end
		posted_event.set
	end

	return posted_event
end