23 lines
660 B
Ruby
23 lines
660 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Deployments
|
|
class HooksWorker # rubocop:disable Scalability/IdempotentWorker
|
|
include ApplicationWorker
|
|
|
|
data_consistency :delayed
|
|
|
|
queue_namespace :deployment
|
|
feature_category :continuous_delivery
|
|
|
|
def perform(params = {})
|
|
params = params.with_indifferent_access
|
|
|
|
if (deploy = Deployment.find_by_id(params[:deployment_id]))
|
|
log_extra_metadata_on_done(:deployment_project_id, deploy.project.id)
|
|
log_extra_metadata_on_done(:deployment_id, params[:deployment_id])
|
|
|
|
deploy.execute_hooks(params[:status], params[:status_changed_at].to_time)
|
|
end
|
|
end
|
|
end
|
|
end
|