Add active_jobs_limit to plans table
This is a port from EE changes where we introduce a new limit for Plan model. https://dev.gitlab.org/gitlab/gitlab-ee/merge_requests/1182
This commit is contained in:
parent
3ac4a2989d
commit
45c5144e36
|
@ -203,6 +203,7 @@ module Ci
|
|||
scope :for_sha, -> (sha) { where(sha: sha) }
|
||||
scope :for_source_sha, -> (source_sha) { where(source_sha: source_sha) }
|
||||
scope :for_sha_or_source_sha, -> (sha) { for_sha(sha).or(for_source_sha(sha)) }
|
||||
scope :created_after, -> (time) { where('ci_pipelines.created_at > ?', time) }
|
||||
|
||||
scope :triggered_by_merge_request, -> (merge_request) do
|
||||
where(source: :merge_request_event, merge_request: merge_request)
|
||||
|
|
|
@ -15,7 +15,8 @@ module Ci
|
|||
Gitlab::Ci::Pipeline::Chain::Limit::Size,
|
||||
Gitlab::Ci::Pipeline::Chain::Populate,
|
||||
Gitlab::Ci::Pipeline::Chain::Create,
|
||||
Gitlab::Ci::Pipeline::Chain::Limit::Activity].freeze
|
||||
Gitlab::Ci::Pipeline::Chain::Limit::Activity,
|
||||
Gitlab::Ci::Pipeline::Chain::Limit::JobActivity].freeze
|
||||
|
||||
def execute(source, ignore_skip_ci: false, save_on_errors: true, trigger_request: nil, schedule: nil, merge_request: nil, **options, &block)
|
||||
@pipeline = Ci::Pipeline.new
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddActiveJobsLimitToPlans < ActiveRecord::Migration[5.2]
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
DOWNTIME = false
|
||||
|
||||
disable_ddl_transaction!
|
||||
|
||||
def up
|
||||
add_column_with_default :plans, :active_jobs_limit, :integer, default: 0
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :plans, :active_jobs_limit
|
||||
end
|
||||
end
|
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 2019_08_15_093949) do
|
||||
ActiveRecord::Schema.define(version: 2019_08_16_151221) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_trgm"
|
||||
|
@ -2500,6 +2500,7 @@ ActiveRecord::Schema.define(version: 2019_08_15_093949) do
|
|||
t.string "title"
|
||||
t.integer "active_pipelines_limit"
|
||||
t.integer "pipeline_size_limit"
|
||||
t.integer "active_jobs_limit", default: 0
|
||||
t.index ["name"], name: "index_plans_on_name"
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Gitlab
|
||||
module Ci
|
||||
module Pipeline
|
||||
module Chain
|
||||
module Limit
|
||||
class JobActivity < Chain::Base
|
||||
def perform!
|
||||
# to be overridden in EE
|
||||
end
|
||||
|
||||
def break?
|
||||
false # to be overridden in EE
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue