module Pusher
Public Class Methods
activate(topic, endpoint)
click to toggle source
# File lib/harvester/pusher.rb, line 10 def self.activate topic, endpoint listener = EZMQ::Subscriber.new :connect, port: 6060, topic: topic, decode: -> m { Oj.load m } listener.listen do |message, topic| puts write message end end
use_or_create(db_name)
click to toggle source
# File lib/harvester/pusher.rb, line 25 def self.use_or_create(db_name) dbs = @connection.get_database_list.map { |db| db["name"] } @connection.create_database db_name unless dbs.include? db_name @connection = InfluxDB::Client.new db_name, host: Settings.influx_host, username: Settings.influx_user, password: Settings.influx_pass end
write(data)
click to toggle source
# File lib/harvester/pusher.rb, line 17 def self.write data series = data.delete :series_name db = data.delete :database_name use_or_create db @connection.write_point(series, data) data.length end