diff options
author | Shinya Maeda <shinya@gitlab.com> | 2019-05-17 15:10:44 +0300 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2019-06-03 06:04:57 +0300 |
commit | 6a18a411a30e9e7406ba9335ab502ec396add662 (patch) | |
tree | 423c290a2382010561784917effc38d944fdf579 /spec/factories/ci | |
parent | 96744d0befd7e298c08e6d20a4f504086a717c35 (diff) |
Make pipeline schedule worker resilient
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.
Diffstat (limited to 'spec/factories/ci')
-rw-r--r-- | spec/factories/ci/pipeline_schedule.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/spec/factories/ci/pipeline_schedule.rb b/spec/factories/ci/pipeline_schedule.rb index b2b79807429..4b83ba2ac1b 100644 --- a/spec/factories/ci/pipeline_schedule.rb +++ b/spec/factories/ci/pipeline_schedule.rb @@ -7,6 +7,16 @@ FactoryBot.define do 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 |