class Farmstead::Manage::Service
Public Instance Methods
check_sources()
click to toggle source
Checks for any new sources to be processed Adds them to the message queue
# File lib/farmstead/pipeline/manage.rb, line 41 def check_sources sources = @mysql.query("SELECT * FROM sources WHERE pickedup = 'false'") return false if sources.count.zero? sources.each do |source| json = source.to_json sourceid = get_from_json(json, 'id') # import_source(json, sourceid) write_message(json, topic: 'Wood') mark_pickedup(sourceid) end end
import_source(sourcehash, sourceid)
click to toggle source
Imports source data as a Hash into MySQL DB
# File lib/farmstead/pipeline/manage.rb, line 67 def import_source(sourcehash, sourceid) sourcehash end
regular_tasks()
click to toggle source
Checks for any processing tasks that need to be completed at speicifc times
# File lib/farmstead/pipeline/manage.rb, line 55 def regular_tasks tasks = @mysql.query("SELECT * FROM tasks WHERE processed = 'false'") return false if tasks.count.zero? tasks.each do |task| json = task.to_json taskid = get_id(task) write_message(json, topic: 'Wood') mark_pickedup(taskid) end end
run()
click to toggle source
# File lib/farmstead/pipeline/manage.rb, line 25 def run puts "Starting Manager" # Cycle thru sources, pull config and pass to Kafka sources = Farmstead::DB.select_all("sources") puts sources.inspect sources.each do |source| module_name = source[:module] puts module_name @producer.produce(module_name, topic: "Field") @producer.deliver_messages Farmstead::DB.mark_pickedup(module_name) end end