Commit 4ec622b6 authored by Bob Van Landuyt's avatar Bob Van Landuyt

Add context to the PipelineScheduleWorker

Jobs that could be scheduled from this cron worker:

- RunPipelineScheduleWorker
- BuildHooksWorker
- ExpireJobCacheWorker
- StageUpdateWorker
- PipelineUpdateWorker
- BuildQueueWorker
- ExpirePipelineCacheWorker
- PipelineHooksWorker
- PipelineProcessWorker
- Ci::BuildScheduleWorker
...
parent dd5500f1
...@@ -23,7 +23,7 @@ module Ci ...@@ -23,7 +23,7 @@ module Ci
scope :active, -> { where(active: true) } scope :active, -> { where(active: true) }
scope :inactive, -> { where(active: false) } scope :inactive, -> { where(active: false) }
scope :preloaded, -> { preload(:owner, :project) } scope :preloaded, -> { preload(:owner, project: [:route]) }
accepts_nested_attributes_for :variables, allow_destroy: true accepts_nested_attributes_for :variables, allow_destroy: true
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
class PipelineScheduleWorker class PipelineScheduleWorker
include ApplicationWorker include ApplicationWorker
include CronjobQueue # rubocop:disable Scalability/CronWorkerContext include CronjobQueue
feature_category :continuous_integration feature_category :continuous_integration
worker_resource_boundary :cpu worker_resource_boundary :cpu
...@@ -10,7 +10,9 @@ class PipelineScheduleWorker ...@@ -10,7 +10,9 @@ class PipelineScheduleWorker
def perform def perform
Ci::PipelineSchedule.runnable_schedules.preloaded.find_in_batches do |schedules| Ci::PipelineSchedule.runnable_schedules.preloaded.find_in_batches do |schedules|
schedules.each do |schedule| schedules.each do |schedule|
Ci::PipelineScheduleService.new(schedule.project, schedule.owner).execute(schedule) with_context(project: schedule.project, user: schedule.owner) do
Ci::PipelineScheduleService.new(schedule.project, schedule.owner).execute(schedule)
end
end end
end end
end end
......
...@@ -80,9 +80,9 @@ describe Ci::PipelineSchedule do ...@@ -80,9 +80,9 @@ describe Ci::PipelineSchedule do
it 'preloads the associations' do it 'preloads the associations' do
subject subject
query = ActiveRecord::QueryRecorder.new { subject.each(&:project) } query = ActiveRecord::QueryRecorder.new { subject.map(&:project).each(&:route) }
expect(query.count).to eq(2) expect(query.count).to eq(3)
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment