Class: Ci::AbortPipelinesService
- Inherits:
-
Object
- Object
- Ci::AbortPipelinesService
- Defined in:
- app/services/ci/abort_pipelines_service.rb
Instance Method Summary collapse
-
#execute(pipelines, failure_reason) ⇒ Object
NOTE: This call fails pipelines in bulk without running callbacks.
Instance Method Details
#execute(pipelines, failure_reason) ⇒ Object
NOTE: This call fails pipelines in bulk without running callbacks. Only for pipeline abandonment scenarios (examples: project delete)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/services/ci/abort_pipelines_service.rb', line 7 def execute(pipelines, failure_reason) pipelines.cancelable.each_batch(of: 100) do |pipeline_batch| now = Time.current basic_attributes = { status: :failed } all_attributes = basic_attributes.merge(failure_reason: failure_reason, finished_at: now) bulk_fail_for(Ci::Stage, pipeline_batch, basic_attributes) bulk_fail_for(CommitStatus, pipeline_batch, all_attributes) pipeline_batch.update_all(all_attributes) end ServiceResponse.success(message: 'Pipelines stopped') end |