require File.join(File.dirname(__FILE__), "worker") require "commands/deploy" require "db/mongo/models/server" require "db/mongo/models/report" class DeployWorker < Worker include DeployCommands def perform(dir, server, tags, owner, conf, deploy_info) call(conf, nil, dir) do |provider, out, file| mongo = Devops::Db.connector s = Server.new(server) o = { "file" => file, "_id" => jid, "created_by" => owner, "project" => s.project, "deploy_env" => s.deploy_env, "type" => Report::DEPLOY_TYPE, "status" => STATUS::RUNNING, "chef_node_name" => s.chef_node_name, "host" => s.public_ip || s.private_ip } mongo.save_report(Report.new(o)) status = deploy_server_proc.call(out, s, tags, deploy_info) status end end end