33 lines
757 B
Ruby
33 lines
757 B
Ruby
require "db/mongo/models/server"
|
|
require "db/mongo/models/report"
|
|
require "lib/executors/server_executor"
|
|
require "workers/worker"
|
|
|
|
class DeleteExpiredServerWorker < Worker
|
|
|
|
def perform(options)
|
|
call do
|
|
server_id = options.fetch('server_id')
|
|
puts_and_flush "Expire server '#{server_id}'."
|
|
server = mongo.server_by_instance_id(server_id)
|
|
report = save_report(server)
|
|
|
|
e = Devops::Executor::ServerExecutor.new(server, out)
|
|
e.report = report
|
|
e.delete_server
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def save_report(server)
|
|
update_report(
|
|
"created_by" => 'SYSTEM',
|
|
"project" => server.project,
|
|
"deploy_env" => server.deploy_env,
|
|
"type" => Devops::Model::Report::EXPIRE_SERVER_TYPE
|
|
)
|
|
end
|
|
|
|
end
|