Add logging / rescues

This commit is contained in:
Charles Care
2019-11-25 12:02:00 +00:00
parent 9c0ecb3d89
commit 302b139353
2 changed files with 24 additions and 6 deletions

View File

@@ -25,10 +25,11 @@ module Pipeline::Rpc::Worker
prepare_input unless @error
run_container unless @error
response = {return_address: return_address}
response = {}
if @error
response[:msg_type] = :error_response
response[:return_address] = return_address
response.merge(@error)
else
response[:msg_type] = :response
@@ -39,12 +40,22 @@ module Pipeline::Rpc::Worker
def check_container
log "Checking container"
unless environment.released?(track_slug, container_version)
msg = "Container #{track_slug}:#{container_version} isn't available"
begin
unless environment.released?(track_slug, container_version)
msg = "Container #{track_slug}:#{container_version} isn't available"
log msg
@error = {
status_code: 404,
error: msg
}
end
rescue => e
msg = "Failure accessing environment (during container check)"
log msg
@error = {
status_code: 404,
error: msg
status_code: 500,
error: msg,
detail: e
}
end
end

View File

@@ -91,7 +91,14 @@ module Pipeline::Rpc::Worker
@poller.listen_for_messages do |action_task|
unless action_task.nil?
action_task.environment = environment
result = action_task.invoke
result = nil
begin
result = action_task.invoke
rescue => e
puts "Error in invoke"
puts e.message
puts e.backtrace
end
if result && result[:return_address]
puts "RESULT #{result}"
outgoing.send_string(result.to_json)