#root = File.join(File.dirname(__FILE__), "..") #$LOAD_PATH.push root unless $LOAD_PATH.include? root require File.join(File.dirname(__FILE__), "worker") require "commands/deploy" require "db/mongo/models/server" class DeployWorker < Worker include DeployCommands def perform(dir, server, tags, conf) set_status jid, "init" config = convert_config(conf) File.open(File.join(dir, jid), "w") do |out| begin set_status jid, "running" mongo = mongo_connector(config) s = deploy_server_proc.call(out, Server.new(server), mongo, tags) set_status jid, (s == 0 ? "completed" : "failed") rescue Exception => e out << "\n" out << e.message out << "\n" out << e.backtrace.join("\n") set_status jid, "failed" end end end end