server/bin/make in vulcan-0.0.3 vs server/bin/make in vulcan-0.1.0

- old
+ new

@@ -4,23 +4,24 @@ ENV["GEM_PATH"] = File.expand_path("../../vendor/gems", __FILE__) require "rubygems" id = ARGV.shift -command = ARGV.shift -prefix = ARGV.shift require "couchrest" require "fileutils" require "tmpdir" -db = CouchRest.database!(ENV["CLOUDANT_URL"] + ":5984/make") +db = CouchRest.database!(ENV["CLOUDANT_URL"] + "/make") Dir.mktmpdir do |dir| Dir.chdir(dir) do doc = db.get(id) + command = doc["command"] + prefix = doc["prefix"] + File.open("input.tgz", "wb") do |file| file.print doc.fetch_attachment("input") end FileUtils.mkdir_p "input" @@ -32,8 +33,15 @@ Dir.chdir(prefix) do %x{ tar czf #{dir}/output.tgz * 2>&1 } end - doc.put_attachment("output", File.open("#{dir}/output.tgz")) + retries = 0 + begin + doc.put_attachment("output", File.open("#{dir}/output.tgz")) + rescue RestClient::Conflict + retries += 1 + retry if retries < 3 + end + end end