diff --git a/lib/travis/api/v3/models/cron.rb b/lib/travis/api/v3/models/cron.rb index e0a75cd9..1300cbfa 100644 --- a/lib/travis/api/v3/models/cron.rb +++ b/lib/travis/api/v3/models/cron.rb @@ -3,19 +3,6 @@ module Travis::API::V3 belongs_to :branch - def start - raise ServerError, 'repository does not have a github_id'.freeze unless branch.repository.github_id - - payload = { - repository: { id: branch.repository.github_id, owner_name: branch.repository.owner_name, name: branch.repository.name }, - branch: branch.name - } - - class_name, queue = Query.sidekiq_queue(:build_request) - ::Sidekiq::Client.push('queue'.freeze => queue, 'class'.freeze => class_name, 'args'.freeze => [{type: 'cron'.freeze, payload: JSON.dump(payload)}]) - payload - end - def next_enqueuing if (disable_by_build) && (last_non_cron_build_date > last_planned_time) diff --git a/lib/travis/api/v3/queries/crons.rb b/lib/travis/api/v3/queries/crons.rb index 463336b3..723bb7e5 100644 --- a/lib/travis/api/v3/queries/crons.rb +++ b/lib/travis/api/v3/queries/crons.rb @@ -4,5 +4,18 @@ module Travis::API::V3 def find(branch) branch.cron end + + def start(branch) + raise ServerError, 'repository does not have a github_id'.freeze unless branch.repository.github_id + + payload = { + repository: { id: branch.repository.github_id, owner_name: branch.repository.owner_name, name: branch.repository.name }, + branch: branch.name + } + + class_name, queue = Query.sidekiq_queue(:build_request) + ::Sidekiq::Client.push('queue'.freeze => queue, 'class'.freeze => class_name, 'args'.freeze => [{type: 'cron'.freeze, payload: JSON.dump(payload)}]) + payload + end end end diff --git a/lib/travis/api/v3/services/crons/start.rb b/lib/travis/api/v3/services/crons/start.rb index 729d6a44..1bef2f79 100644 --- a/lib/travis/api/v3/services/crons/start.rb +++ b/lib/travis/api/v3/services/crons/start.rb @@ -6,7 +6,7 @@ module Travis::API::V3 Models::Cron.all.each do |cron| if cron.next_enqueuing <= Time.now - cron.start + query.start(cron.branch) started.push cron end end