Add router
This commit is contained in:
@@ -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
14
bin/router
Normal 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)
|
||||
Reference in New Issue
Block a user