class Farmstead::Extract::Service
Public Instance Methods
run()
click to toggle source
# File lib/farmstead/pipeline/extract.rb, line 13 def run @consumer.subscribe("Field") trap('TERM') { @consumer.stop } @consumer.each_message do |message| puts "Received: #{message.value}" # The Field message only contains the module name project_name = ENV["name"].capitalize module_name = message.value my_module = Object.const_get "#{project_name}::#{module_name}" result = my_module::extract puts result.inspect Farmstead::DB.insert_test(result) hash = {module_name: module_name, result: result} hash = hash.to_json @producer.produce(hash, topic: "Forest") @producer.deliver_messages @consumer.mark_message_as_processed(message) end end