Add router

This commit is contained in:
Charles Care
2019-09-10 16:25:53 +01:00
parent 2331da3289
commit 8a13e48958
3 changed files with 41 additions and 12 deletions

View File

@@ -9,29 +9,43 @@ class PipelineClient
def initialize
@context = ZMQ::Context.new(1)
@socket = context.socket(ZMQ::REQ)
socket.setsockopt(ZMQ::LINGER, 0)
socket.connect("tcp://localhost:5555")
open_socket
at_exit do
close_socket
end
end
def send_msg(msg)
socket.send_string(msg)
response = ''
rc = socket.recv_string(response)
def open_socket
@socket = context.socket(ZMQ::REQ)
@socket.setsockopt(ZMQ::LINGER, 0)
@socket.connect("tcp://localhost:5566")
end
def close_socket
@socket.close
end
def send_msg(msg, timeout)
socket.setsockopt(ZMQ::RCVTIMEO, timeout*1000)
send_result = socket.send_string(msg)
response = ""
recv_result = socket.recv_string(response)
puts recv_result
raise("RCV timeout") if recv_result < 0
parsed = JSON.parse(response)
parsed
return parsed
end
def build_analyzer(track_slug)
send_msg("build-analyzer_#{track_slug}")
send_msg("build-analyzer_#{track_slug}", 300)
end
def release_latest(track_slug)
send_msg("release-analyzer_#{track_slug}")
send_msg("release-analyzer_#{track_slug}", 30)
end
def analyze(track_slug, exercise_slug, solution_slug, iteration_folder)
send_msg("analyze_#{track_slug}|#{exercise_slug}|#{solution_slug}|#{iteration_folder}")
send_msg("analyze_#{track_slug}|#{exercise_slug}|#{solution_slug}|#{iteration_folder}", 1000)
end
end

14
bin/router Normal file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env ruby
require "bundler/setup"
$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
require "pipeline"
context = ZMQ::Context.new
front_end_socket = context.socket(ZMQ::ROUTER)
front_end_socket.bind('tcp://*:5566')
back_end_socket = context.socket(ZMQ::DEALER)
back_end_socket.bind('tcp://*:5577')
ZMQ::Device.create(front_end_socket, back_end_socket)