2021-06-08 01:23:25 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Deployments
|
|
|
|
class HooksWorker # rubocop:disable Scalability/IdempotentWorker
|
|
|
|
include ApplicationWorker
|
|
|
|
|
2021-11-11 11:23:49 +05:30
|
|
|
data_consistency :delayed
|
2021-10-27 15:23:28 +05:30
|
|
|
|
2021-06-08 01:23:25 +05:30
|
|
|
queue_namespace :deployment
|
|
|
|
feature_category :continuous_delivery
|
|
|
|
|
|
|
|
def perform(params = {})
|
|
|
|
params = params.with_indifferent_access
|
|
|
|
|
|
|
|
if (deploy = Deployment.find_by_id(params[:deployment_id]))
|
2022-07-16 23:28:13 +05:30
|
|
|
log_extra_metadata_on_done(:deployment_project_id, deploy.project.id)
|
|
|
|
log_extra_metadata_on_done(:deployment_id, params[:deployment_id])
|
|
|
|
|
2022-08-13 15:12:31 +05:30
|
|
|
deploy.execute_hooks(params[:status], params[:status_changed_at].to_time)
|
2021-06-08 01:23:25 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|