6a18a411a3
Currently, pipeline schedule worker is unstable because it's sometimes killed by excessive memory consumption. In order to improve the performance, we add the following fixes: 1. next_run_at is always real_next_run, which means the value always takes into account of worker's cron schedule 1. Remove exlusive lock. This is already covered by real_next_run change. 1. Use RunPipelineScheduleWorker for avoiding memory killer. Memory consumption is spread to the multiple sidekiq worker.
39 lines
968 B
Ruby
39 lines
968 B
Ruby
FactoryBot.define do
|
|
factory :ci_pipeline_schedule, class: Ci::PipelineSchedule do
|
|
cron '0 1 * * *'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
ref 'master'
|
|
active true
|
|
description "pipeline schedule"
|
|
project
|
|
|
|
trait :every_minute do
|
|
cron '*/1 * * * *'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
end
|
|
|
|
trait :hourly do
|
|
cron '* */1 * * *'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
end
|
|
|
|
trait :nightly do
|
|
cron '0 1 * * *'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
end
|
|
|
|
trait :weekly do
|
|
cron '0 1 * * 6'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
end
|
|
|
|
trait :monthly do
|
|
cron '0 1 22 * *'
|
|
cron_timezone Gitlab::Ci::CronParser::VALID_SYNTAX_SAMPLE_TIME_ZONE
|
|
end
|
|
|
|
trait :inactive do
|
|
active false
|
|
end
|
|
end
|
|
end
|