From 298359ea1705e18201ab171203d0dfa21ac43557 Mon Sep 17 00:00:00 2001 From: Heiko Bernloehr Date: Fri, 22 Apr 2016 23:03:05 +0200 Subject: Evaluate routing element in exercises. Dynamic routing by evaluating routing element in exercises, e.g. "routing": { "solutionQueue": "cpp_solutions" } --- config/appcfg.yml | 1 + lib/job_event.rb | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/config/appcfg.yml b/config/appcfg.yml index 3085205..c5fd263 100644 --- a/config/appcfg.yml +++ b/config/appcfg.yml @@ -11,6 +11,7 @@ defaults: &DEFAULTS debug_level: debug resources: + servicename: numlab evaluationjobs: pretty_print: false name: numlab/evaluation_jobs diff --git a/lib/job_event.rb b/lib/job_event.rb index 086e13e..85ebdbf 100644 --- a/lib/job_event.rb +++ b/lib/job_event.rb @@ -90,7 +90,13 @@ class JobEvent response= @ecs.connection[APP_CONFIG["resources"]["exercises"]["name"]].post exercise.to_json, {"X-EcsReceiverMemberships" => mid} solution["Solution"]["exercise"]= response.headers[:location] Rails.logger.info "***** JobEvent#compute substitute exersice URL in solution to: #{solution["Solution"]["exercise"]}" - @ecs.connection[APP_CONFIG["resources"]["solutions"]["name"]].post solution.to_json, {"X-EcsReceiverMemberships" => mid} do |response, request, result| + if exercise["Exercise"]["routing"] + routing_path = APP_CONFIG["resources"]["servicename"]+"/"+exercise["Exercise"]["routing"]["solutionQueue"] + else + routing_path = APP_CONFIG["resources"]["solutions"]["name"] + end + Rails.logger.info "***** JobEvent#compute routing path for solution: #{routing_path}" + @ecs.connection[routing_path].post solution.to_json, {"X-EcsReceiverMemberships" => mid} do |response, request, result| Rails.logger.info "***** JobEvent#compute solution post response: #{response.headers}" end end -- cgit v1.2.3